Страницы

Поиск по вопросам

воскресенье, 9 февраля 2020 г.

PHP, Что за конструкция “$a=(array) $b” обозначает

#php


недано начал изучать Php, в скрипте встретил такую конструкцию 

$a=(array) $b


не могу понять что она делает, объясните пожалуйста на пальцах.
    


Ответы

Ответ 1



Это приведение к типу, а именно приведение к типу array переменной $b. Такое может использоваться например в том случае, когда переменная $b содержит данные типа stdClass.

Ответ 2



Это приведение типов. Обычно используется когда вам нужно получить массив, а на вход вам дают бог знает что. function test($b) { $a = (array) $b; foreach ($a as $c) { echo "c=$c\n"; } } С этим приведением типа функцию можно вызывать с одним аргументом так: test(123); И так: test(array(123, 456)); Если же приведение типов не делать, то функция не сработает с ошибкой: PHP Warning: Invalid argument supplied for foreach()

Ответ 3



по поводу скалярных типов данных, если вы сделаете что-то вроде $a = 777; // или $a = 'qwerty'; или $a = true; $array = (array)$a; var_dump($array); то вам вернется массив, который содержит в качестве первого элемента вашу исходную переменную array(1) { [0]=> bool(true) // или int(777) или string(qwerty) }

Комментариев нет:

Отправить комментарий