{lang: 'ru'}

уроки php для начинающих, массивы php, ассоциативный массив php, php создание массива, работа с массивами phpИ снова здравствуйте! Это 4 урок серии уроки php для начинающих и сегодня Вы узнаете, что такое массивы PHP, как создать ассоциативный массив php и еще много чего полезно по этой теме.

Массивы PHP

Если просто, то массивы в PHP — это переменные, которые хранят в себе множество значений. Но всё же давайте рассмотрим подробнее, что такое массивы в PHP.

Массив — это упорядоченный набор данных. Массив состоит из элементов, каждый элемент имеет значение — данные, которые хранятся в элементе массива и индекс, с помощью которого можно сослаться на этот элемент.

Кроме того, массивы в PHP не привязаны к типу данных. Элементы массива могут иметь разные типы данных независимо от типов данных других элементов.

Создание массива

Есть несколько способов инициализации массивов. Способ 1, «обыкновенный»:

$arr[0] = "первый";
$arr[1] = "второй";
$arr[2] = "третий";

В этом примере создается массив из 3 элементов. То же самое можно сделать и другим способом.

$arr[] = "первый";
$arr[] = "второй";
$arr[] = "третий";

В этом примере тоже создается массив из 3 элементов, но главная особенность — все индексы задаются по умолчанию: 0, 1, 2. Так же можно присваивать любой индекс на свое усмотрение, только индекс должен быть целым числом:

$arr[55] = "первый";
$arr[22] = "второй";
$arr[99] = "третий";

В этом примере опять-таки создается массив из 3 элементов, но уже с заданными индексами 22, 55 и 99. Если Вы знакомы с программированием, то Вы уже могли понять, что привычный способ определения размерности массива по наибольшему индексу не сработает. Тут нужно применить что-то другое, лучше всего для этого подойдет функция count(). Её прототип:

int count (массив);

Если массив не существует или в нём нет элементов функция count() возвратит 0. Если массив с последовательной индексацией, то можно использовать функцию count():

$arr = array("первый", "второй", "третий");
$count = count($arr);
for($i = 0; $i < $count; $i++){
    echo ($arr[$i]."<br>");
}

Кстати, способы инициализации можно совмещать:

$arr[52] = "первый";
$arr[10] = "второй";
$arr[ ] = "третий";

В этом случае 3 элементу массива присвоится индекс 53, так как самый большой индекс 52.

Еще один способ инициализации заключается в использовании специальной функции array(). В функцию передаются значения, которые мы хотим присвоить массиву:

$arr = array("первый", "второй", "третий");

Эта функция создаст массив с 3 элементами, и присвоит индексы 0, 1 и 2. Если Вы хотите присвоить индексы самостоятельно, то в функции array() нужно использовать оператор =>

$arr = array(16 => "первый",  32 => "второй",  19 => "третий");
$arr = array(5 => "первый",  "второй",  16 => "третий");

В первой строке создается массив из 3 элементов с индексами 16, 19, 32. Во второй строке — с индексами 5, 6, 16. Запомните, оператор => можно применять для любого элемента массива.

Элементу массива можно присвоить индекс в виде строки — это будет ассоциативный массив:

$arr["first"] = "пять";
$arr["second"] = "шесть";

или

$arr = array( "first" => "пять", "second" => "шесть");

Теперь давайте рассмотрим функции, с помощью которых вы упростите себе задачу, если массив индексирован непоследовательно или индексирован строками. Функции list() и each() используются вместе, чтобы пройти через массив. Прототипы функций и примеры их использования будут приведены далее:

void list(...); //связывает переданные переменные, как если они были бы массивом
array each (array array) //возвращает из массива следующую пару (ключ, значение), если массив закончился, возвращает FALSE.
reset($arr);
while (list($key, $value) = each($arr)){
    echo "Элемент массива с ключем = ".$key." имеет значение = ".$value."<br>";
}

Функция  reset(), использованная в примере, устанавливает внутренний указатель на первый элемент в массиве. Если Вы используете эту функцию, то можете быть уверены, что курсор находится в начале массива.

Функция next() перемещает курсор в массиве на 1 элемент вперед и возвращает значение следующего элемента. Если достигнут конец массива, то функция возвращает FALSE.

Функция prev() работает по такому же принципу, только курсор перемещается на 1 элемент назад. Функция возвращает значение предыдущего элеманта. Если достигнуто начало массива, то функция возвращает FALSE.

Таким образом осуществляется работа с массивами в PHP.

Получайте новые статьи блога прямо себе на почту

Рекомендую также:

  1. Урок 14. Функции для работы с текстом и шрифтами в PHP
  2. Урок 12. Функции для получения информации о изображениях и рисования геометрических фигур в PHP
  3. Урок 6. PHP функции
  4. Урок 5. Функции для работы со строками
  5. Урок 3. Связь HTML и PHP. Семейство функций is..(). Преобразование типов данных