|
|
|
Основные типы данных PHP
XML и веб-сервисы
Безопасный офис
Защита от копирования и методы ее взлома
История PHP
Корпоративная информационная система
Новое в PHP5
Основные типы данных PHP
Основы языка программирования РНР 5
Программистские байки
Торговая информационная система
|
Встроенные документы
Доступ к вложенным (многомерным) массивам
Доступ к отдельным символам в строке
Доступ к элементам массива
Другие способы выполнения итераций по массиву
Изменение или создание новых элементов массива
Константы
Конструктор arrayQ
Логический тип
Массивы
Обход массива с помощью foreach ()
Обход массива с помощью list() и each()
Ресурсы
Специальный тип Null
Строки
Целые числа
Числа с плавающей точкой
Чтение элементов массива
Существует достаточно много способов обхода массива, но самый элегантный из них - цикл fоreach (). В общем виде этот синтаксис оператора таков: foreach($array as [$key =>] [&] $value) Указание переменной цикла для хранения ключа - $ key - не обязательно, но если она задана, то в теле цикла через нее можно получить доступ к текущему значению ключа в массиве, которое может быть либо целым числом, либо строкой. Указывать символ & перед переменной цикла, предназначенной для хранения текущего элемента массива, тоже не обязательно. Он ставится только в том случае, если значения элементов массива будут меняться в теле цикла. Ниже приводится короткий пример использования оператора цикла fоreach (): $players = аrrау ("Джон", "Барбара", "Билл", "Нэнси"); print "Список игроков:\n"; foreach ($players as $key => $value) { print "#$key = $value\n"; } Результат работы этого кода : Список игроков: #0 = Джон #1 = Барбара #2 = Билл #3 = Нэнси Более сложный пример, в котором выполняется обход массива с данными игроков и в котором для каждого из них определяется принадлежность к той или иной возрастной группе («старшая/младшая») в зависимости от возраста: $people = array(1 => array("name" => "Джон", "age" => 28), array("name"=> "Барбара", "age" => 67)); foreach ($people as &$person) { if ($person["age"] >= 35) { $person["age group"] = "Старшая"; } else { $person["age group"] = "Младшая"; } } print_r($people); В этом примере мы вновь воспользовались функцией print_r(). В результате работы примера будет выведено следующее:
Array ( [1] => Array ( [name] => Джон [age] => 28 [age group] => Младшая ) [2] => Array ( [name] => Барбара [age] => 67 [age group] => Старшая ) )
Как видите, в оба массива, содержащие сведения о Барбаре и Джоне и находящиеся внутри массива Speople, был добавлен новый элемент age group (возрастная группа).
|
|
|
|