Шаг 39.
Основы языка PHP.
Инициализация массивов

    На этом шаге мы рассмотрим различные способы инициализации масивов.

    Для инициализации или создания массивов в РНР предлагается два способа:

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

   $closets[3] = "Майка";

    В результате выполнения этой строки если массив $closets (шкафчики) еще не существует, то он будет создан. Его первый и пока единственный элемент будет содержать строку Майка. Ключом в данном случае будет число 3. Ключ может и отсутствовать. Пример:

   $closets[] = "Майка";

    Здесь в квадратных скобках мы ничего не поставили. В этом случае если такого массива еще не существует, то по умолчанию ключом первого элемента будет число 0. Эта запись будет эквивалентна следующей:

   $closets[0] = "Майка";

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

   $closets["Петров"] = "Майка";

    В этом случае мы создали массив с одним элементом, ключом которого является строка "Петров".

    В PHP существует особенность, связанная с использованием пустого ключа ([]). Например:

   $closets[] = "Майка";
   $closets[] = "Кроссовки";
   $closets[] = "Шорты";

    Первой строкой создается массив с одним элементом, ключом которого является число 0. При выполнении следующей строки РНР добавит еще один элемент, ключ которого на единицу больше, то есть 1. Другими словами все это эквивалентно следующему:

   $closets[0] = "Майка";
   $closets[1] = "Кроссовки";
   $closets[2] = "Шорты";

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

   $closets[10] = "Майка";
   $closets[1] = "Кроссовки";
   $closets["Петров"] = "Шорты";
   $closets[] = "Брюки";   // эквивалентно $closets[11] = "Брюки"

    В этом случае четвертым элементом будет строка "Брюки", а ключ будет равен 11, так как максимальное значение ключа до этого было равно 10. Если числовые ключи отсутствуют, то по умолчанию он будет равен 0, Пример:

   $closets["Петров"] = "Шорты";
   $closets[] = "Брюки";   // эквивалентно $closets[0] = "Брюки";

    Исключение из этого правила может возникнуть при использовании функции unset(). Как эта функция применяется к массивам, мы рассмотрим позже.

    Функция array(). Другим способом инициализации массивов является функция array().

    Общий вид этой функции следующий:


Рис.1. Общий вид функции array()

    Например:

   $closets = array(1 => "Майка", 2 => "Кроссовки", 3 => "Шорты");

    Функция array() в качестве входных параметров принимает пары ключ-значение и возвращает требуемый массив. Ключ и значение разделяются оператором =>. Пары разделяются запятыми. В приведенном примере создается массив, состоящий из трех элементов с ключами 1, 2 и 3 и значениями соответственно Майка, Кроссовки, Шорты.

    Ключи можно не указывать, тогда их значение будет определяться по умолчанию. Например:

   $closets = array("Майка", "Кроссовки", "Шорты");

    В этом случае индексация будет начинаться с 0, поэтому рассматриваемая строчка будет эквивалентна этой:

   $closets = array(0 => "Майка", 1 => "Кроссовки", 2 => "Шорты");

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

   $closets = array("Петров" => "Майка", 
                    "Иванов" => "Кроссовки", 
                    "Сидоров" => "Шорты");

    На следующем шаге мы рассмотрим вывод масивов.




Предыдущий шаг Содержание Следующий шаг