Многомерные массивы
in_array()
reset()
Для инициализации многомерных массивов используются вложенные конструкции array(). Обход многомерных массивов достигается при помощи вложенных циклов. В следующем скрипте показан пример создания и обхода многомерного массива.
Пример:
<?
$ship = array(
"Passenger ship" => array("Yacht","Liner","Ferry"),
"War ship" => array("Battle-wagon","Submarine","Cruiser"),
"Freight ship" => array("Tank vessel","Dry-cargo ship","Container
cargo ship")
);
foreach($ship as $key => $type)
{
echo(
"<h2>$key</h2>\n"."<ul>\n");
foreach($type as $ship)
{
echo("\t<li>$ship</li>\n");
}
}
echo("</ul>\n");
?>
Результат выполнения этого скрипта::
Passenger ship
War shipFreight ship |
Ну а теперь, будем рассматривать функции, которые есть в PHP для работы с массивами. И первое с чего мы начнем – это функции сортировки массивов. Однако до этого я еще скажу о трех функциях, которыми мы часто будем пользоваться в наших примерах.
Функция count()
Синтаксис:
int count(mixed var)
Эта функция принимает в качестве аргумента массив и возвращает количество элементов в нем. Как понимаете, штука незаменимая когда будем бегать по массиву циклом for().
Функция in_array()
Синтаксис:
boolean in_array(mixed needle, array haystack [, bool strict])
Эта функция ищет в массиве haystack значение needle и возвращает true если оно найдено и false в противном случае.
Функция reset()
Синтаксис:
mixed reset(array array)
Функция reset() устанавливает указатель массива на первый элемент и возвращает значение первого элемента массива.
Небольшое замечание. У каждого массива в PHP есть внутренний указатель на текущий элемент массива. При работе с такими конструкциями как foreach не надо думать об указателе, поскольку foreach устанавливает его в начало массива. Однако, многие другие функции массивов, такие как prev(), next(), занимаются перемещением указателя массива, что может иметь значение при работе с такими функциями, как array_walk(), которые начинают обработку массива с того места, где находится указатель.