Массивы в любых языках программирования играют важную роль, т.к. они хранят в себе отсортированные данные, хаотично подобранные или в ручную созданные массивы которые часто имеют структуру 'ключ' => 'значение'. Массив является востребованной структурой для хранения данных. Все ключи массива последовательно пронумерованы от 0 до N. Имена массивов не отличаются от обычных переменных, так же начинаются с знаком $ после которого идет логическое имя для массива. Для того, чтобы получить значение нужно указать ключ в квадратные скобки массива. Допустим у нас есть массив $Cars, нам нужно получить значение первого ключа - $Cars[0], добавляя единицу к ключу массива мы получим следующее значение очередного ключа.
В качестве значения ключей могут выступать очередные массивы, тем самым создавая многомерные массивы. Для получения значения из многомерного массива мы просто продублируем квадратные скобки $Cars[1]['bmw']. В качестве ключа могут быть использованы не только цифры но и буквы.
- Создание массива
Для создания нового массива, в PHP чаще встречаются два способа это использования array() или добавления к переменной квадратных скобок присваивая значение. Рассмотрим каждый из них в отдельности.
- Создание массива через array();
В круглых скобках через запятую можно указать сразу значение без предварительного указания ключа
1 2 3 4 5 6 7 8 |
<?php $Cars = array('bmw', 'audi', 'lexus'); // Получаем значения из массива echo $Cars[0]; // bmw echo $Cars[1]; // audi echo $Cars[2]; // lexus ?> |
Так выглядит одномерный массив из трех ключей пронумерованных 0 до 2. Как уже говорилось выше, значения массива могут быть так же массивы тем самым получая многомерные массивы.
1 2 3 4 5 6 7 8 9 10 |
<?php $Cars = array( 'bmw' => array('x3', 'x4', 'x5'), 'volkswagen' => array('polo', 'golf', 'passat'), ); // Получаем значения из многомерных массивов echo $Cars['bmw'][0]; // x3 echo $Cars['volkswagen'][2]; // passat ?> |
Схематическую структуру массива мы можем получить при помощи функции print_r($Cars); текущая схематическая конструкция для созданного двухмерного массива будет
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Array ( [bmw] => Array ( [0] => x3 [1] => x4 [2] => x5 ) [volkswagen] => Array ( [0] => polo [1] => golf [2] => passat ) ) |
Как вы можете заметить, для первого примера мы не указали ключи для значений, дело в том, что как принято в С-подобных языках программирования если не указать ключи значений они автоматически вставляются начиная с 0 до N, где N (кол-во значений). Порядок следования ключей можно поставить свой, указываем перед знаком => свой номер.
1 2 3 4 5 |
<?php $notebooks = array(3 => 'HP', 4 => 'Asus', 5 => 'Samsung'); echo $notebooks[4]; // Asus echo $notebooks[5]; // Samsung ?> |
- Создание массива через квадратные скобки
Создание массивов в квадратные скобки аналогично тому как присваивают значение для перемен. В квадратные скобки указывается ключ массива и после знака = присваивается новое значение.
1 2 3 4 5 |
<?php $Cars[0] = 'bmw'; $Cars[1] = 'audi'; $Cars[3] = 'lexus'; ?> |
Данный пример является аналогом первого примера создания массивов через array() только конструкция немного другая и приходится повторять имя массива.