- Вывод циклом всего массива php
- Код вывода массива на экран php:
- Пример вывода массива на экран php:
- Способ №2 вывод массива на экран php.
- Код вывода массива на экран php:
- Пример вывода массива на экран php:
- Способ №3 вывод массива на экран php.
- Код вывода массива на экран php:
- Пример вывода массива на экран php:
- Вывести массив php с помощью цикла
- Код вывода массива на экран php:
- Использование циклов в PHP
- Foreach – перебор массива
- Результат:
- Альтернативный синтаксис foreach
- For – цикл с счетчиком
- Результат:
- Альтернативный синтаксис
- Результат:
- Альтернативный синтаксис for
- While – цикл с предусловием
- Результат:
- Альтернативный синтаксис while
- Do-while – цикл с постусловием
- Результат:
- Управление циклами
- Break
- Continue
- Результат:
- Используем foreach для прохода по всему массиву PHP
- Цикл по значениям элементов
- Цикл по ключам и значениям
- Изменение значения элемента
- 5 последних уроков рубрики «PHP»
- Фильтрация данных с помощью zend-filter
- Контекстное экранирование с помощью zend-escaper
- Подключение Zend модулей к Expressive
- Совет: отправка информации в Google Analytics через API
- Подборка PHP песочниц
- Как вывести PHP массив
- Функция print_r()
- Результат:
- Функция var_dump()
- Результат:
- var_export()
- Результат:
- Цикл foreach
- Результат:
- Результат:
- Результат:
- Цикл for
- Результат:
- Цикл while
- Результат:
- Функция implode()
- Результат:
Вывод циклом всего массива php
Для того, чтобы вывести массив с помощью php вам понадобится:
Создаём любым из возможных способов массив php либо берем уже готовый. возьмем уже готовый простой массив отсюда:
Теперь для вывода данного массива нам потребуется функция которая умеет выводить массив на экран пусть это будет — print_r:
Код вывода массива на экран php:
$arr = array(‘Первая’, ‘Вторая’, ‘Третья’);
Пример вывода массива на экран php:
Теперь, чтобы показать работы выше приведенного кода вывода массива на экран php — вам нужно расположить данный код на странице. расположим его прямо здесь:
Способ №2 вывод массива на экран php.
Еще один способ вывода м массива в php — для этого вам понадобится:
Всю теорию возьмем из предыдущего пункта!
Используем print_r, но только другой пункт. Превратим наш массив в строку(строка)
После этого воспользуемся echo.
Код вывода массива на экран php:
$arr = array(‘Первая’, ‘Вторая’, ‘Третья’);
Пример вывода массива на экран php:
Аналогично — располагаем выше приведенный код вывода массива прямо здесь:
Способ №3 вывод массива на экран php.
Можно выводить массив в php разными способами, для следующего варианта вам понадобится:
Возьмем тот же массив, что был использован выше:
Теперь для вывода данного массива нам потребуется функция которая умеет выводить массив на экран пусть это будет — var_dump:
Код вывода массива на экран php:
$arr = array(‘Первая’, ‘Вторая’, ‘Третья’);
Пример вывода массива на экран php:
Теперь, чтобы показать работы выше приведенного кода вывода массива на экран php — вам нужно расположить данный код на странице. расположим его прямо здесь:
(обращаю ваше внимание, что длина символов ячейки отличается от того количества символов, что в ней содержится — почему?)
Вывести массив php с помощью цикла
Массив используем предыдущий:
Как вы знаете есть несколько видов циклов. в зависимости от вида массива требуется использование соответствующего цикла, иногда некоторые массивы нельзя вывести с помощью цикла. Поскольку у нас в примере участвует простой массив, то я могу использовать цикл for
Код вывода массива на экран php:
$arr = array(‘Первая’, ‘Вторая’, ‘Третья’);
Использование циклов в PHP
PHP имеет четыре вида циклов и операторы управления ими, рассмотрим поподробнее.
Foreach – перебор массива
Предназначен для перебора элементов массива.
$array = array( 1 => 'Значение 1', 2 => 'Значение 2', 3 => 'Значение 3', 4 => 'Значение 4', ); // Вывод ключей foreach ($array as $key => $val) < echo $key . '
'; > // Вывод значений foreach ($array as $key => $val) < echo $val . '
'; >
Результат:
1 2 3 4 Значение 1 Значение 2 Значение 3 Значение 4
Альтернативный синтаксис foreach
For – цикл с счетчиком
Цикл работает пока выполняется заданное условие. Обычно применяется в качестве счетчика.
// Счетчик от 0 до 5 for ($n = 0; $n // Счетчик от 5 до 0 for ($n = 5; $n >= 0; $n--)
Результат:
Альтернативный синтаксис
$array = array( 'Значение 1', 'Значение 2', 'Значение 3', 'Значение 4', ); for ($n = 0; $n < count($array); $n++) < echo $array[$n] . '
'; >
Результат:
Значение 1 Значение 2 Значение 3 Значение 4
Альтернативный синтаксис for
While – цикл с предусловием
Т.е. если перед началом итерации условие выполняется, то цикл продолжает свою работу.
Результат:
Альтернативный синтаксис while
Do-while – цикл с постусловием
В отличии от while этот цикл проверяет выполнения условия после каждой итерации. Do-while не имеет альтернативного синтаксиса.
Результат:
Управление циклами
Break
Вызов break или break 1 в цикле останавливает его.
Для вложенных циклов используется break 2 и т.д.
Continue
Используется для пропуска итерации.
Результат:
Для вложенных циклов по аналогии с break 2 , break 3 – continue 2 , continue 3 .
Используем foreach для прохода по всему массиву PHP
Часто нужно пройти по всем элементам массива PHP и провести какую-нибудь операцию над каждым элементом. Например, вы можете вывести каждое значение в таблицу HTML или задать каждому элементу новое значение.
В данном уроке мы рассмотрим конструкцию foreach при организации цикла по индексированным и ассоциированным массивам.
Цикл по значениям элементов
Самый простой случай использования foreach — это организация цикла по значениям в индексированном массиве. Основной синтаксис :
foreach ( $array as $value ) < // Делаем что-нибудь с $value >// Здесь код выполняется после завершения цикла
Например, следующий скрипт проходит по списку режисеров в индексированном массиве и выводит имя каждого:
$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); foreach ( $directors as $director ) < echo $director . "
"; >
Выше приведенный код выведет:
Alfred Hitchcock Stanley Kubrick Martin Scorsese Fritz Lang
Цикл по ключам и значениям
А что насчет ассоциированных массивов? При использовании такого типа массивов часто нужно иметь доступ к ключу каждого элемента, так же как и к его значению. Конструкция foreach имеет способ решить поставленную задачу:
foreach ( $array as $key => $value ) < // Делаем что-нибудь с $key и/или с $value >// Здесь код выполняется после завершения цикла
Пример организации цикла по ассоциированному массиву с информацией о кинофильмах, выводит ключ каждого элемента и его значение в HTML списке определений:
$movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); echo "
- "; foreach ( $movie as $key => $value ) < echo "
- $key: "; echo "
- $value "; > echo "
Данный скрипт при выполнении выведет:
title: Rear Window director: Alfred Hitchcock year: 1954 minutes: 112
Изменение значения элемента
А как обстоит дело с изменением значения элемента при проходе цикла? Вы можете попробовать такой код:
foreach ( $myArray as $value )
Однако, если запустить его на выполнение, то вы обнаружите, что значения в массиве не изменяются. Причина заключается в том, что foreach работает с копией значений массива, а не с оригиналом. Таким образом оригинальный массив остается нетронутым.
Для изменения значений массива вам нужна ссылка на значение. Для этого нужно поставить знак & перед переменной значения в конструкции foreach :
foreach ( $myArray as &$value )
$value становится ссылкой на значение элемента в оригинальном массиве, а значит, вы можете изменять элемент устанавливая новое значение в $value .
— это указатель на оригинальное значение. Она похожа на ярлык в Windows, или на псевдоним в Mac OS.
Например, следующий скрипт проходит циклом каждый элемент (имя режиссера) в массиве $directors , и использует функцию PHP explode() и конструкцию list для перемены мест имени и фамилии:
$directors = array( "Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsese", "Fritz Lang" ); // Изменяем формат имени для каждого элемента foreach ( $directors as &$director ) < list( $firstName, $lastName ) = explode( " ", $director ); $director = "$lastName, $firstName"; >unset( $director ); // Выводим конечный результат foreach ( $directors as $director ) < echo $director . "
"; >
Hitchcock, Alfred Kubrick, Stanley Scorsese, Martin Lang, Fritz
Отметим, что скрипт вызывает функцию unset() для удаления переменной $director после завершения первого цикла. Это хорошая практика, если вы планируете использовать переменную позже в скрипте в другом контексте.
Если не удалять ссылку, то есть риск при дальнейшем выполнении кода случайной ссылки на последний элемент в массиве («Lang, Fritz»), если далее использовать переменную $director , что приведет к непредвиденным последствиям!
В данном уроке мы рассмотрели, как использовать конструкцию PHP foreach для организации цикла по элементам массива. Были рассмотрены вопросы:
- Как организовать цикл по элементам массива
- Как получить доступ к ключу и значению каждого элемента
- Как использовать ссылку для изменения значений при проходе цикла
Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.elated.com/articles/foreach-loop-through-php-arrays/
Перевел: Сергей Фастунов
Урок создан: 20 Августа 2010
Просмотров: 162426
Правила перепечатки
5 последних уроков рубрики «PHP»
Фильтрация данных с помощью zend-filter
Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.
Контекстное экранирование с помощью zend-escaper
Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.
Подключение Zend модулей к Expressive
Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.
Совет: отправка информации в Google Analytics через API
Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.
Подборка PHP песочниц
Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.
Как вывести PHP массив
Примеры использования PHP функций и циклов для вывода всех элементов массива в окно браузера.
Функция print_r()
Функция print_r() выводит информацию о переменной в удобочитаемом виде. Чтобы отобразить пробелы и переносы результат функции нужно обернуть в тег .
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); echo '
'; print_r($array); echo '';
Результат:
Array ( [0] => Andi [1] => Benny [2] => Cara [3] => Danny [4] => Emily )
Функция var_dump()
Функция var_dump() отображает информацию о переменной, включая тип и значение.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); echo '
'; var_dump($array); echo '';
Результат:
array(5) < [0]=>string(4) "Andi" [1]=> string(5) "Benny" [2]=> string(4) "Cara" [3]=> string(5) "Danny" [4]=> string(5) "Emily" >
var_export()
Функция var_export() возвращает строковое представление переменной в виде полноценного PHP-кода.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); echo '
'; echo var_export($array); echo '';
Результат:
array ( 0 => 'Andi', 1 => 'Benny', 2 => 'Cara', 3 => 'Danny', 4 => 'Emily', )
Цикл foreach
Цикл foreach специально создан для поэлементного перебора массивов.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); foreach ($array as $row) < echo $row . "
\r\n"; >Результат:
Andi
Benny
Cara
Danny
EmilyПример с выводом нумерованного списка с использованием индексов массива:
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); foreach ($array as $n => $row) < echo ($n + 1) . '.' . $row . "
\r\n"; >Результат:
1.Andi
2.Benny
3.Cara
4.Danny
5.EmilyЧтобы не выводить последний
, добавим условие:$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); foreach ($array as $n => $row) < echo ($n + 1) . '.' . $row; if ($n < count($array) - 1) < echo "
\r\n"; > >Результат:
1.Andi
2.Benny
3.Cara
4.Danny
5.EmilyЦикл for
Цикл for подойдет только в случаях, когда индексы массива имеют непрерывную нумерацию.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); for ($n = 0; $n < count($array); $n++) < echo $n + 1 . '.' . $array[$n] . "
\r\n"; >Результат:
1.Andi
2.Benny
3.Cara
4.Danny
5.EmilyЦикл while
Цикл while такое же работает как и for .
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); $index = 0; while ($index < count($array)) < echo $index + 1 . '.' . $array[$index] . "
\r\n"; $index++; >Результат:
1.Andi
2.Benny
3.Cara
4.Danny
5.EmilyФункция implode()
Также, для вывода массива удобно использовать функцию implode() , которая объединяет элементы массива через разделитель.
$array = array( 'Andi', 'Benny', 'Cara', 'Danny', 'Emily', ); echo implode("
\r\n", $array);Результат:
Andi
Benny
Cara
Danny
Emily