Элементами массива могут быть любые структуры, в том числе и другие массивы:
$sotrud = array
(
array("Иван","Иванов", 25560),
array("Петр","Петров", 32760),
array("Сидор","Сидоров", 18900),
array("Василий","Пупкин", 8650),
);
Создан массив $sotrud, имеющий четыре строки и три столбца (нумерация начинается с нуля). Каждый элемент этого массива имеет два индекса – номер строки и номер столбца. Как и в Си, они записываются в отдельных квадратных скобках:
$sotrud[2][0] //”Сидор”
Вывод на экран такого массива можно осуществить функцией var_damp():
При использовании циклов for и foreach этот массив можно вывести построчно:
for ($i = 0; $i < count($sotrud); $i++)
{
echo "Строка $i:<BR>";
foreach($sotrud[$i] as $index=>$value)
{
echo $index, '=>',$value, "<BR>";
}
echo "<BR>";
}
На экране появится:
Строка 0: 0=>Иван 1=>Иванов 2=>25560
Строка 1: 0=>Петр 1=>Петров 2=>32760
Строка 2: 0=>Сидор 1=>Сидоров 2=>18900
Строка 3: 0=>Василий 1=>Пупкин 2=>8650
Для вывода элементов массива в составе текстовой строки последние берутся в фигурные скобки:
echo "Сотрудник {$sotrud[0][1]} получает {$sotrud[0][2]} руб.", "<BR>";
На экране появится:
Для вывода на экран всех элементов массива в PHP используется очень удобный цикл foreach(), о котором уже шла речь. Он позволяет выводить как значения, так и индексы всех элементов массива.
Перебор элементов массива можно выполнить и с помощью специальных функций:
current(массив) текущий элемент массива,
next(массив) следующий элемент массива,
prev(массив) предыдущий элемент массива,
end(массив) конечный элемент массива,
reset(массив) начальный элемент массива.
Если к массиву не применялись функции перемещения, то считается, что указатель индексов установлен на его начальный элемент.
$my_array = array
(
“Иван”,
“Иванов”,
“доцент”,
);
echo current($my_array), “<BR>”; // “Иван”
echo next($my_array), “<BR>”; // “Иванов”
echo end($my_array), “<BR>”; // 25560
Использование функций next() и prev() может привести к выходу за пределы массива. В этом случае они возвращают значение false.