И снова здравствуйте! Это 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.
Получайте новые статьи блога прямо себе на почту
Спасибо за поданный материал. Для дальнейшей работы в интернете, надо знать хотя-бы азы программирования.
Чтобы изучить php нужно много времени, но иногда эти знания очень нужны, например хочу сменить цвет надписи следующая страница в WordPress и не могу найти где.
Вспоминается студенческая молодость: Фортран, Паскаль и т.д.
Ой, все это для меня темный лес, наверное это не для меня. Но для кого то это будет интересно. Удачи.
Опечаточка закралась в строке
echo (arr[$i].»");
надо $arr вместо arr.
А за уроки спасибо!
Спасибо, исправил.