SaLanguages = arrayC'Arabic", 3 => "German", "Korean", "Tagalog");
echo($aLanguages[0]): // Выводит "Arabic"
echo($aLanguages[3]); // Выводит "German"
echo($aLanguages[4]); // Выводит "Korean"
echo($aLanguages[5]); // Выводит "Tagalog"
Как упоминалось выше, индексы массива могут быть строками:
laLanguages = array( "ar" => "Arabic", "de" => "German", "tl" => "Tagalog"
);
// Выводит "Tagalog" $aLanguages["ko"] = "Korean";
// Выводит "Korean"
Обход массивов в цикле
В РНРЗ обход массива обычно достигался сложной реализацией функции each вместе с конструкцией list и циклом while. В РНР4 эта задача значительно облегчена за счет появления цикла f о хорошо знакомого программистам Perl. Его синтаксис прост:
foreach (array as [$key =>] $value) { statements
}
Оператор forea с г проходит каждый элемент массива по одному разу. В каждом проходе в переменную помещается индекс этого элемента, а в переменную - значение этого элемента. Имена этих двух переменных произвольны; следующий код тоже будет выполняться:
foreach as $sVal) {
echo("$sIdx is $sVal <br />");
Как показывает синопсис, описывающий синтаксис foreach, переменная с индексом необязательна, поскольку часто она не нужна внутри цикла. В данном примере переменная $кеу вообще опущена, а вместо $value используется $sLang:
echo(
"Available Languages: <br />\п" . "<ul>\n".
);
foreach ($aLanguages as $sLang) { echo("<li>$sLang</li>\n");
}
echo("</ul>\n");
Встроенные функции массивов
PHP предлагает массу функций, облегчающих работу с массивами. Ряд полезных функций описывается ниже. Полный список можно найти в электронной документации на http://www.php.net/manual/en/ref.array.php"> http://www.php.net/manual/en/ref.array.php .
count()
int count(mixed var)
Функция count () принимает в качестве аргумента массив и возвращает количество элементов в нем. Если переменная не установлена или не содержит элементов, возвращается
in _array()
boolean in_array(mixed needle, array haystack [, bool strict])
Эта функция ищет в массиве haystack значение needle и возвращает t rue, если оно найдено, и false в противном случае.
reset()
mixed reset(array array)
У каждого массива PHP есть внутренний указатель на текущий элемент массива. Применяя такие конструкции, как foreach, не надо думать об указателе, потому что foreach старательно устанавливает его в начало массива. Однако многие функции массивов, такие как prev() и next(), перемещают указатель на следующую позицию. Это может иметь в дальнейшем значение при вызове таких функций, как array_walk(), которая начинает обработку с того места, где находится указатель.