Подтвердить что ты не робот

Могут ли массивы PHP хранить элементы другого типа?

В других языках программирования определение массивов - это то, что может содержать похожие элементы. Например, если я объявляю что-то вроде int i[], он будет хранить целые числа, но в PHP один массив, кажется, содержит строки и числа вместе.

Будет ли число/целое число обрабатываться как строка в таком типе массива в PHP?

4b9b3361

Ответ 1

В соответствии с руководством PHP вы действительно можете хранить гетерогенные типы внутри массива PHP - прокрутите список до примера 3.

Обратите внимание, что, хотя в примере речь идет о ключах, являющихся ints или строками, значения, назначенные в примере, также являются как ints, так и строками, демонстрируя, что можно хранить разнородные типы.

Помните, что в случае клавиш с различной типизацией задействовано автоматическое кастинг, поэтому у вас могут быть неожиданные результаты в случае, когда, например, строка содержит допустимое десятичное представление.

Ответ 2

В массивах PHP нет даже массивов, они упорядочены хэш-таблицами.

Ответ 3

Не собираюсь вкладывать масла в огонь массивов PHP, здесь нет массивов... Но да, вы можете поместить различные типы переменных (string, int,...) вместе в вещь PHP под названием Array.

Ответ 4

Вы можете хранить все, что хотите, в массиве.

Будет ли число/целое число обрабатываться как строка в таком типе массива в PHP?

Не хранить его. Однако, когда вы используете значение как таковое, PHP будет его преобразовывать. Использование значения определяет его интерпретацию. (Внимание, ключ преобразуется при хранении, однако, если он считается числовым)

Ответ 5

Да. В массиве PHP может быть несколько типов данных. Кроме того, вы должны отметить, что массивы в PHP на самом деле представлены в виде пар ключ-значение, где элементы, которые вы будете вводить в массив, являются значениями. Вы также можете явно определять ключи, когда вводите элементы в массив, но если вы этого не сделаете, PHP будет использовать индексы, начиная с 0. Пример: когда вы вводите <?php $array = array("foo", "bar", "hello", "world"); var_dump($array);?> <?php $array = array("foo", "bar", "hello", "world"); var_dump($array);?> <?php $array = array("foo", "bar", "hello", "world"); var_dump($array);?>//var_dump сообщает вам тип и значение переменной, которую PHP будет интерпретировать как

array(4) {

[0] => string (3) "foo" [1] => string (3) "bar" [2] => string (5) "hello" [3] => string (5) "world"}

Кроме того, если у вас есть один ключ, определенный среди всех значений, например, например: <?php $array = array( "a", "b", 6 => "c", "d", ); var_dump($array);?> <?php $array = array( "a", "b", 6 => "c", "d", ); var_dump($array);?> <?php $array = array( "a", "b", 6 => "c", "d", ); var_dump($array);?> PHP интерпретирует как array(4) { [0]=> string(1) "a" [1]=> string(1) "b" [6]=> string(1) "c" [7]=> string(1) "d" }

Reference- http://php.net/manual/en/language.types.array.php