Обход многомерных массивов
Int count(mixed array)
Цикл for
Цикл foreach
Обход массива в цикле
Создание многомерных массивов
Многомерные массивы можно создавать, обращаясь к элементам или используя вложенные конструкции array().
// Создание многомерного массива
<?php
$ship = array(
"Пассажирские корабли" => array("Лайнер","Яхта","Паром"),
"Военные корабли" => array("Авианосец","Линкор","Эсминец"),
"Грузовые корабли" => array("Сормовский","Волго-Дон","Окский")
);
print_r($ship);
?>
При обращении к элементу $ship['пассажирские корабли'] [0] возвратит значение "Лайнер".
Существует несколько способов обхода массива в цикле. Одни из которых:
1) с помощью цикла foreach;
2) с помощью цикла for;
Цикл foreac используется для обхода ассоциативных массивов.
//Обход массива в цикле foreach
<?php
$number = array ("first" => "1", "second" => "2", "third" => "3");
foreach($number as $index => $val)
echo "$index = $val <br>";
?>
Результат:
first = 1
second = 2
third = 3
Переменная $кеу для ключа массива необязательна и может быть опущена
// Обход массива в цикле for
<?php
$number = array('1","2","3");
for($i=0; $i < count($number); $i++)
echo $number[$i];
?>
Результат: 123.
Функция count() предназначена для вывода количества элементов массива и имеет простой синтаксис:
Обход многомерных массивов проводится с помощью вложенных циклов foreach, при этом число вложенных циклов соответствует размерности массива.
// Обход многомерных массивов в цикле
<?php
foreach($ship as $key => $type)
{
echo("<b>$key</b>\n"."\n"); // вывод значений основных массивов
foreach($type as $ship) // вывод значений для каждого из массивов
{
echo("\t<li>$ship</li>\n");
}
}
?>
1. Поиск элемента в массиве
Поиск элемента в массиве осуществляется с помощью функции in_array ():
bool in_array(mixed element, array arr [, bool strict])
Эта функция ищет в массиве arr значение element и возвращает true, если оно найдено, и false — в противном случае
<?php
$number = array(0.57, '21.5', 40.52);
if (in_array(21.5, $number)) echo "Значение 21.5 найдено";
else echo "Ничего не найдено";
?>
Для того чтобы функция различала типы элементов в массиве, необходимо третий необязательный параметр strict установить в значение true
Для поиска заданного ключа в массиве можно воспользоваться функцией array_key_exists():