25

PHP Массивы, php многомерный массив, смешанные типы данных (переменные), классы ООП php



Привет!, после изучения четырех основных типов данных, переходим на изучение смешанных типов данных

Сего смешанных типов в PHP существует 4 из них:

Первый тип данных это - array (массив)


На самом деле массив в PHP - это упорядоченное отображение, которое устанавливает соответствие между значением и ключом. Этот тип оптимизирован в нескольких направлениях, поэтому вы можете использовать его как собственно массив, список (вектор), хэш-таблицу (являющуюся реализацией карты), словарь, коллекцию, стэк, очередь и, возможно, что-то еще. Так как значением массива может быть другой массив PHP, можно также создавать деревья и многомерные массивы.

Если еще проще, пример: массив это что то вроде кучки людей, каждый имеет свое имя(Ключ), у каждого ключа есть массив элементов (рука, нога, волос а у кого то волосы) у руки может быть еще один массив, да равный ключу с именем Вася, есть ключ с именем рука и у руки вложен другой php массив с пальцами по ключу 1 - безымянный, 2 большой и т.д., но это очень грубый пример, только для понимания основы.

Тип данных array очень просто объявить:


//Где ключ является key 
// => является ссылкой на значение
// value - это значение по ключу в массиве
    array(
    key  => value,
    key2 => value2,
    key3 => value3,
    ...
    )

Значений ключ => значение может быть любое количество, обязательное условия является разделение запятой.

Начиная с версии 5.4 массив может быть объявлен:


$array = [
    "foo" => "bar",
    "bar" => "foo",
];

В качестве ключа может выступать как int (Число) так и String (строка), в качестве значения может быть что угодно.

Из официальной документации

Дополнительно с ключом key будут сделаны следующие преобразования:

Строки, содержащие целое число (исключая случаи, когда число предваряется знаком +) будут преобразованы к типу integer. Например, ключ со значением "8" будет в действительности сохранен со значением 8. С другой стороны, значение "08" не будет преобразовано, так как оно не является корректным десятичным целым.

Числа с плавающей точкой (тип float) также будут преобразованы к типу integer, то есть дробная часть будет отброшена. Например, ключ со значением 8.7 будет в действительности сохранен со значением 8.

Тип bool также преобразовываются к типу integer. Например, ключ со значением true будет сохранен со значением 1 и ключ со значением false будет сохранен со значением 0.

Тип null будет преобразован к пустой строке. Например, ключ со значением null будет в действительности сохранен со значением "". Массивы (тип array) и объекты (тип object) не могут использоваться в качестве ключей. При подобном использовании будет генерироваться предупреждение: Недопустимый тип смещения (Illegal offset type).

Если несколько элементов в объявлении массива используют одинаковый ключ, то только последний будет использоваться, а все другие будут перезаписаны.



Массивы изначально достаточно сложны для понимания, предлагаю немного попрактиковаться, и после переходить на статью про тип переменных object

0 комментариев

Написать сообщение

Пожалуйста, оцените по 5 бальной шкале