Масиви в PHP
Массивы (Array)
Массивы (arrays) - это упорядоченные наборы данных, представляющие собой список однотипных элементов.
Существует два типа массивов, различающиеся по способу идентификации элементов.
1. В массивах первого типа элемент определяется индексом в последовательности. Такие массивы называются <a href="#list">простыми массивами</a>.
2. Массивы второго типа имеют ассоциативную природу, и для обращения к элементам используются ключи, логически связанные со значениями. Такие массивы называют <a href="#assoc">ассоциативными массивами</a>.
Важной особенностью PHP является то, что PHP, в отличие от других языков, позволяет создавать массивы любой сложности непосредственно в теле программы (скрипта).
Массивы могут быть как одномерными, так и многомерными.
<a name="list"></a>Простые массивы и списки в PHP
При обращении к элементам простых индексируемых массивов используется целочисленный индекс, определяющий позицию заданного элемента.
Простые одномерные массивы:
Обобщенный синтаксис элементов простого одномерного массива:
$имя
[
индекс
];
Массивы, индексами которых являются числа, начинающиеся с нуля - это списки:
<?php
// Простой способ инициализации массива
$names[0]="Апельсин";
$names[1]="Банан";
$names[2]="Груша";
$names[3]="Помидор";
// Здесь: names - имя массива, а 0, 1, 2, 3 - индексы массива
?>
Доступ к элементам простых массивов (списков) осуществляется следующим образом:
<?php
// Простой способ инициализации массива
$names[0]="Апельсин";
$names[1]="Банан";
$names[2]="Груша";
$names[3]="Помидор";
// Здесь: names - имя массива, а 0, 1, 2, 3 - индексы массива
// Выводим элементы массивов в браузер:
echo $names[0]; // Вывод элемента массива names с индексом 0
echo "<br>";
echo $names[3]; // Вывод элемента массива names с индексом 3
// Выводит:
// Апельсин
// Помидор
?>
С технической точки зрения разницы между простыми массивами и списками нет.
Простые массивы можно создавать, не указывая индекс нового элемента массива, это за вас сделает PHP. Вот пример:
<?php
// Простой способ инициализации массива, без указания индексов
$names[]="Апельсин";
$names[]="Банан";
$names[]="Груша";
$names[]="Помидор";
// PHP автоматически присвоит индексы элементам массива, начиная с 0
// Выводим элементы массивов в браузер:
echo $names[0]; // Вывод элемента массива names с индексом 0
echo "<br>";
echo $names[3]; // Вывод элемента массива names с индексом 3
// Выводит:
// Апельсин
// Помидор
?>
В рассмотренном примере вы можете добавлять элементы массива names простым способом, то есть не указывая индекс элемента массива:
$names[]="Яблоко";
Новый элемент простого массива (списка) будет добавлен в конец массива. В дальнейшем, с каждым новым элементом массива, индекс будет увеличиваться на единицу.
Простые многомерные массивы:
Обобщенный синтаксис элементов многомерного простого массива:
$имя[индекс1][индекс2]..[индексN];
Пример простого многомерного массива:
<?php
// Многомерный простой массив:
$arr[0][0]="Овощи";
$arr[0][1]="Фрукты";
$arr[1][0]="Абрикос";
$arr[1][1]="Апельсин";
$arr[1][2]="Банан";
$arr[2][0]="Огурец";
$arr[2][1]="Помидор";
$arr[2][2]="Тыква";
// Выводим элементы массива:
echo "<h3>".$arr[0][0].":</h3>";
for ($q=0; $q<=2; $q++) {
echo $arr[2][$q]."<br>";
}
echo "<h3>".$arr[0][1].":</h3>";
for ($w=0; $w<=2; $w++) {
echo $arr[1][$w]."<br>";
}
?>