Вывести массив php for

Как вывести массив в PHP: 6 способов с примерами

Массив в PHP (от англ. Array) — это глобальный объект для хранения набора данных упорядоченным образом, который регламентирует соответствие между ключом и значением. Такой упорядоченный список элементов всегда имеет собственный ключ — он называется индексом, а каждое значение в такой коллекции данных называется элементом. Тип array, обычно, формируется соответствующей конструкцией (array). В качестве параметров она принимает любое количество пар “ключ” / “значение”. Синтаксис такой:

array( key0 => value, key1 => value2, key2 => value3, . )

(Запятая сразу после последнего элемента может не использоваться)

Простыми словами, массив в PHP — это набор определённых данных, объединенный под каким-либо названием (иначе говоря, в пределах одной переменной доступно несколько элементов).

Для чего используется вывод массива

Вывод — одна из самых частых операций, которая используется при работе с массивом. Вывод нужен, чтобы показать информацию о переменной в доступном, читабельном варианте. Без вывода получить представление массива в окне браузера просто невозможно.

PHP предоставляет несколько способов, которые можно использовать для вывода объекта типа array. Некоторые из них вполне универсальные, например, функция print_r(), другие — более узкоспециализированные. Давайте разберём каждый из таких способов и посмотрим, что лучше всего работает для вывода массива.

1 способ: функции print_r() и var_dump(). Сравнение

var_dump() и print_r() — обе функции можно успешно использовать для отображения содержимого переменной. Однако, у них есть несколько ключевых различий. О них и пойдёт речь ниже.

var_dump()

Функция var_dump() используется для отображения типа данных и значения переменной. Она также показывает количество элементов в объекте типа array и выводит его свойства.

var_dump() предоставляет более подробную информацию о переменной (по сравнению с print_r).

Пример использование функции для вывода:

$array = array( 'Moscow', 'Brest', 'Tel Aviv', 'Anaheim', 'Haapsalu', ); echo ''; var_dump($array); echo '';
array(5) < [0]=>string(4) "Moscow" [1]=> string(5) "Brest" [2]=> string(4) "Tel Aviv" [3]=> string(5) "Anaheim" [4]=> string(5) "Haapsalu" >

Функция используется для отображения содержимого переменной в человекочитаемом формате. Обычно она используется в целях отладки — для просмотра содержимого массива или иного объекта.

print_r() предоставляет менее подробную информацию о переменной (по сравнению с var_dump).

$array = array( 'Moscow', 'Brest', 'Tel Aviv', 'Anaheim', 'Haapsalu', ); echo ''; print_r($array); echo '';
Array ( [0] => Moscow [1] => Brest [2] => Tel Aviv [3] => Anaheim [4] => Haapsalu )

Давайте сравним обе функции:

  • var_dump() — возвращает тип данных и значение переменной, а print_r() — только содержимое переменной.
  • var_dump() может отображать все свойства и значения объекта (включая приватные, защищенные свойства и методы). А вот print_r() выводит только публичные свойства и значение var_dump.
  • var_dump() более полезна для отладки, а print_r() — для отображения информации.
Читайте также:  Creating zip file in java

В целом, var_dump() более «мощная» и предоставляет больший объём информации о переменной. Функция print_r() же — более простая и предоставляет менее подробные данные, но зато в более читабельном формате.

var_dump() разумнее использовать в случаях, когда нужно изучить структуру переменной и ее тип данных, а print_r() — когда нужно отобразить содержимое переменной в удобочитаемом формате.

2 способ: функция var_export()

Функция позволяет вернуть строковое представление переменной.

  • Если параметр$return не установлен в true — происходит возврат null и в этом случае переменная отображается на экране.
  • Если параметр $ return установлен в true — функция вернет структурированное представление переменной и не будет отображаться на экране.
$array = array( 'Moscow', 'Brest', 'Tel Aviv', 'Anaheim', 'Haapsalu', ); echo ''; echo var_export($array); echo '';
array ( 0 => 'Moscow', 1 => 'Brest', 2 => 'Tel Aviv', 3 => 'Anaheim', 4 => 'Haapsalu', )

Таким образом, var_export() имеет сходство с var_dump() в том, что обе они получают структурированную информацию о переменных. Но если var_export() может вернуть эту информацию в читаемой парсером PHP форме, var_dump() — не может. Говоря более простым языком, возвращаемое значение функции var_export() может быть использовано в дальнейших вычислениях, в отличие от var_dump.

Быстро взглянем на синтаксис функции:

var_export($переменная, $return = false)

Не знаете с чего начать обучение? Прежде чем браться за изучение полноценного языка программирования PHP, разумно будет пройти курс «Веб-разработчик». Если PHP кажется слишком сложным — запишитесь на курс «Основы вёрстки». В указанных курсах вы получите базис для дальнейшего освоения не только PHP но и других языков программирования.

3 способ: цикл foreach

Этот способ идеален, когда требуется поэлементный перебор внутри объекта типа array. Например, вот так:

$array = array( 'Moscow', 'Brest', 'Tel Aviv', 'Anaheim', 'Haapsalu', ); foreach ($array as $row)
Moscow 
Brest
Tel Aviv
Anaheim
Haapsalu

Цикл foreach очень важен в разрезе работы с массивом, поэтому нужно сказать о нем подробнее.

Foreach — это тип цикла. Он обеспечивает простой способ итерации по массиву. Проще всего показать, как это всё работает, на примере кода. Начнем с синтаксиса:

$arr = array('value1', 'value2', 'value3');

Мы можем получить доступ к отдельному элементу этого массива с помощью $arr[index], где index — ключ. Обратите внимание: наш объект-массив автоматически пронумерован, поэтому ключами являются целые числа, начиная с 0. Вот так:

$arr[0] == 'value1'. Foreach дает нам простой способ итерации: foreach($arr as $value) < echo $value . PHP_EOL; // PHP_EOL — константа конца строки, которая может быть \n или 
>

Это еще не все. Иногда значения недостаточно и нужно знать его ключ. Причем не всегда этот ключ является целым числом. Это может быть и строка, например. Так что давайте воспользуемся другим объектом типа array:

$arr = array ( 'key1' => 'value1', 'key2' => 'value2', 'key3' => 'value3' );
key1 = value1 key2 = value2 key3 = value3

На этом примере видно, что можно получить не только значение, но и ключ каждого элемента массива. Это может быть особенно полезно при модификации объекта типа array в блоке foreach, например.

Читайте также:  Лямбда в питоне что это

Немного об объектах

  • С помощью foreach можно перебирать не только простые массивы, но и свойства объектов.
  • Foreach будет перебирать все видимые свойства объекта, используя тот же синтаксис, что и выше ($key — имя свойства, а $value — значение свойства).

Видимость — ключевой момент, который нужно учитывать. Видимость свойств может зависеть от того, где именно находится foreach, но это большая тема для другой статьи.

Внутренний указатель

До PHP 7-й версии в foreach использовался внутренний указатель — это скрытая переменная, которая указывает на текущий элемент. В PHP 7 и последующих версиях языка произошли значительные изменения, но foreach по-прежнему функционирует как раньше.

4 способ: цикл for

Этот способ вывода можно смело рекомендовать в случаях, когда последовательность индексов является непрерывной. Цикл используется для выполнения кода определённое количество раз.

$array = array( 'Moscow', 'Brest', 'Tel Aviv', 'Anaheim', 'Haapsalu', ); for ($n = 0; $n
1.Moscow 
2.Brest
3.Tel Aviv
4.Anaheim
5.Haapsalu

Теперь детальнее посмотрим, как устроен цикл for. Взгляните на эту конструкцию:

for(INITIALISATION; TERMINATION; ITERATION)

Каждый из трех вышеперечисленных элементов является необязательным и может быть любым допустимым утверждением (или утверждениями, разделенными запятой).

for($i = 0; $i < 10; $i++) < echo "squared language-php">$count = 20; for(;$count > 0; $count--)

И можно даже поместить более одного оператора в секции инициализации, завершения и инкремента цикла.

for($i = 0, $count=10, setStart();$count > $i; $i++, $count--) < >function setStart() < // тут что-нибудь полезное в начале цикла >

5 способ: цикл while

Этот способ вывода похож на предыдущий, но у него иной синтаксис. While один раз проходит через блок кода, а затем — повторяет цикл до тех пор, пока заданное условие не будет истинно.

Цикл while можно использовать точно так же, как мы используем цикл for.

$array = array( 'Moscow', 'Brest', 'Tel Aviv', 'Anaheim', 'Haapsalu', ); $index = 0; while ($index
1.Moscow 
2.Brest
3.Tel Aviv
4.Anaheim
5.Haapsalu

Мы разобрали несколько видов циклов. Чтобы не запутаться — ещё раз подытожим разницу между ними:

  • Цикл for используетя для выполнения кода определенное количество раз.
  • Цикл foreach — для итерации объекта типа array и доступа к каждому его элементу по очереди.
  • Цикл while используется для выполнения кода до тех пор, пока заданное условие не станет истинно.
  • Цикл do. while похож на цикл while, за исключением того, что код в цикле всегда выполняется хотя бы один раз до проверки условия.
Читайте также:  Html characters in url

Каждый из перечисленных циклов имеет свой собственный синтаксис и особенности использования, но все они имеют одинаковую базовую структуру: условный оператор, определяющий, когда цикл должен продолжаться, и блок кода, который выполняется каждый раз, когда цикл стартует.

6 способ: функция implode()

Функция implode в PHP используется для объединения элементов массива в строку. Другими словами, её можно использовать, если нужно объединить элементы объекта array в строку и при этом задействовать separator (разделитель)

$array = array( 'Moscow', 'Brest', 'Tel Aviv', 'Anaheim', 'Haapsalu', ); echo implode("\r\n", $array);
Moscow 
Brest
Tel Aviv
Anaheim
Haapsalu

Таким образом, функция implode() возвращает строку из элементов массива. Она берет массив строк и объединяет их в одну строку с помощью разделителя (строки, которая будет использоваться между любыми частями).

Функцию implode в PHP легко запомнить как «преобразование массива в строку». Простыми словами, она принимает объект типа array и возвращает строку. Функция соединяет все элементы массива и возвращает полученную строку, которую можно поместить в переменную.

Предположим, у вас есть объект типа array следующего вида

…и нам нужно объединить его в строку, поставив разделитель ‘-‘ между каждым элементом. Вот простое и элегантное решение, как как это сделать:

Таким образом, строковая переменная $str будет содержать:

Синтаксис функции implode():

Источник

Использование циклов в PHP

PHP имеет четыре вида циклов и операторы управления ими, рассмотрим поподробнее.

Foreach – перебор массива

Предназначен для перебора элементов массива.

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 – цикл с счетчиком

Цикл работает пока выполняется заданное условие. Обычно применяется в качестве счетчика.

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 – цикл с предусловием

Результат:

Альтернативный синтаксис while

Do-while – цикл с постусловием

В отличии от while этот цикл проверяет выполнения условия после каждой итерации. Do-while не имеет альтернативного синтаксиса.

Do-while – цикл с постусловием

Результат:

Управление циклами

Break

Вызов break или break 1 в цикле останавливает его.

Для вложенных циклов используется break 2 и т.д.

Continue

Используется для пропуска итерации.

Результат:

Для вложенных циклов по аналогии с break 2 , break 3 – continue 2 , continue 3 .

Источник

Оцените статью