Как вывести на экран массив php со значениями всех его элементов с помощью функции print_r
При написании кода программы на языке программирования PHP часто возникает необходимость вывести на экран значения массива. Существует масса способов решения этой задачи, однако, самым простым вариантом я нахожу использование для этой цели стандартной функции php print_r . В этой статье рассмотрим именно вариант вывода на экран массива php со значениями всех его элементов с помощью этой функции print_r .
Формирование двумерного массива php
Для того, чтобы показать, как вывести на экран массив php со значениями всех его элементов на полностью рабочем примере, сперва сформируем двумерный массив $array 4×4 с такими значениями:
[a][1]=A [a][2]=B [a][3]=C [a][4]=D [b][1]=E [b][2]=F [b][3]=G [b][4]=H [c][1]=I [c][2]=J [c][3]=K [c][4]=L [d][1]=M [d][2]=N [d][3]=O [d][4]=P
Заполнять массив тоже можно разными способами, но для простоты и наглядности используем два вложенных цикла for :
$z = A; $z--; for ( $y = a; $y >
В общем, массив сформирован. Значения элементов — заглавные буквы латинского алфавита от A до P , а значения ключей по первому индексу — латинские прописные буквы от a до d , по второму — арабские цифры от 1 до 4 .
Вывод на экран с помощью функции echo
Если попробовать вывести теперь получившийся массив с помощью php функции echo так:
echo $array;
То получим ничего для нас не значащую информацию:
Array
Которая указывает, что в данном месте вывода содержится массив, но что это за массив, так и останется для нас загадкой. Такая ситуация довольно часто встречается при разборе чужого кода. В php можно достаточно легко принять массив за переменную, так как синтаксически они в коде могут выглядеть одинаково. Поэтому, получив Array при выводе с помощью функции echo , стоит иметь ввиду, что это не простая переменная, а массив.
И тут мы наконец-то добрались до сути вопроса:
Как вывести на экран массив php со значениями всех его элементов с помощью функции print_r
Для вывода массива на экран вместо функции echo проще всего использовать функцию print_r :
print_r($array);
В итоге получим список всех элементов массива с их индексами и значениями:
Array ( [a] => Array ( [1] => A [2] => B [3] => C [4] => D ) [b] => Array ( [1] => E [2] => F [3] => G [4] => H ) [c] => Array ( [1] => I [2] => J [3] => K [4] => L ) [d] => Array ( [1] => M [2] => N [3] => O [4] => P ) )
Но вот печалька: такой вывод в одну строчку сильно затрудняет восприятие того, что же содержится в массиве и о том, какую структуру (размерность) он вообще имеет. Дело в том, что функция print_r выдаёт форматированный вывод в консоль. Если смотреть его в браузере, то форматирование игнорируется браузером и он отдаёт всё в одну строчку.
Как вывести на экран отформатированный массив php со значениями всех его элементов с помощью функции print_r
Для того, чтобы и в браузере получить форматированное отображение массива, как результат его вывода функцией print_r , стоит воспользоваться тегом
языка HTML, который используется браузером для формирования отображения вывода. Для этого вывод функции print_r следует производить между тегами HTMLи:
echo ''; print_r($array); echo '';
Это наконец даст нужный результат: выведет на экран браузера массив в форматированном, удобном для восприятия и понимания виде:
Array ( [a] => Array ( [1] => A [2] => B [3] => C [4] => D ) [b] => Array ( [1] => E [2] => F [3] => G [4] => H ) [c] => Array ( [1] => I [2] => J [3] => K [4] => L ) [d] => Array ( [1] => M [2] => N [3] => O [4] => P ) )Заключение:
Именно так просто и без затей можно вывести массив в браузер, используя стандартные возможности php и применив базовые знания HTML.
Ну и напоследок, код работающего скрипта, иллюстрирующего всё изложенное выше:
'; $z = A; $z--; for ( $y = a; $y echo '
'; > echo '
'; echo $array; echo '
'; print_r($array); echo '
'; echo ''; print_r($array); echo ''; ?>
Надеюсь, что данная информация оказалась полезной и упростила жизнь также, как и мне. 😉
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! 😉Как снять сильное заклятие и вывести массив из PHP
От автора: иногда я уверен в том, что PHP – это заколдованный язык! Ну как может не запускаться функция, которая вчера успешно работала. В общем, пока я окончательно не вышел из себя, постараемся вывести массив из PHP другими способами.
Методом тыка
В PHP существует несколько типов данных, но массивы выделяются среди них своей «неординарностью». И для вывода значений элементов придется ухитряться и использовать более «весомые» средства, чем обычную языковую конструкцию echo. Не верите? Тогда будем проверять все методом «тыка». Не знаете такого метода? Сейчас научу :).
Массивы в PHP
В данном уроке мы начнем изучать специальный тип данных, который называется . Массив представляет собой переменную, в которой в упорядоченном виде можно хранить целый набор каких-то значений.
Для создания массива используются квадратные скобки:
Пока созданный нами массив не содержит никаких данных. Заполним его названиями дней недели:
Каждое значение списка, который мы записали в массив, в нашем случае каждый день недели, называется массива. Как вы видите, элементы разделяются между собой запятой. После этой запятой можно ставить пробелы, а можно и не ставить (более принято ставить, ставьте).
Обратите внимание на то, что названия дней недели представляют собой строки и поэтому взяты в кавычки. Кроме строк в массиве можно хранить числа, и их в кавычки мы не берем:
Кроме строк и чисел в массиве можно хранить все допустимые типы данных PHP, а также смешивать их между собой в одном массиве, пример:
Массивы в PHP
Массив — это ещё один тип данных, вроде числа или строки. Главное отличие массива от остальных типов данных заключается в его способности хранить в переменной больше одного значения. В предыдущих примерах имя переменной всегда ассоциировалось только с одним значением:
- $name = "Иннокентий"
- $age = 42
А если мы хотим узнать не только пол, имя и возраст пользователя, но и, допустим, любимые сериалы? Очень непросто назвать один самый любимый сериал, а вот вспомнить несколько — намного легче. Сохранение в переменную-массив нескольких значений выглядит так:
$fav_shows = ["game of thrones", "american horror story", "walking dead"];
В этом примере мы сохранили в переменной $fav_shows сразу три значения. Но сохранить эти данные — это только половина дела. Как с ними потом работать? Уже знакомый вам способ вывода переменной на экран не будет работать с массивами:
Так увидеть список любимых сериалов не получится. Дело в том, что массив — это не обычная переменная. Массив хранит не простые типы, вроде текста или чисел (их ещё называют «скалярными типами»), а более сложную структуру данных, поэтому здесь нужен особый подход.
Внутри массива у каждого значения есть адрес, по которому к нему можно обратиться. Такой адрес называется индексом. Индекс — это просто порядковый номер значения внутри массива. Индексация начинается с нуля, так что первый элемент получает индекс — 0 , второй — 1 , и так далее.
Чтобы получить определенный элемент массива, необходимо знать его индекс (ключ). Напечатаем названия всех сериалов из массива через запятую:
Теперь можно дать определение массива: Массив — это совокупность множества элементов вида «ключ: значение».
Массивы позволяют перезаписывать существующие значения и добавлять новые. Добавить новое значение в массив можно так:
$fav_shows[] = "the big bang theory";
Новый элемент автоматически получит индекс равный максимальному индексу из существующих + 1. «Теория большого взрыва» сохранится в массиве под индексом 3 .
Если нам перестал нравиться один из сериалов, так как новый сезон оказался очень плох или появился новый фаворит, значения в массиве можно заменить. Чтобы вычеркнуть старое значение и заменить его новым, нужно присвоить новое значение любому из существующих в массиве индексов:
$fav_shows[4] = "fargo";
Для полного удаления (без замены на другое) значения по его индексу существует функция unset :
unset($fav_shows[4]);
Ассоциативные массивы
В предыдущем разделе мы познакомились с так называемыми простыми массивами. Но в PHP существует и чуть более сложный тип массивов — ассоциативные. Ассоциативные массивы отличаются от простых тем, что вместо индексов у них ключи. Если индекс всегда является целым, порядковым числом, то ключ может быть любой произвольной строкой.
Мы уже знаем многое о нашем пользователе: его имя, возраст, любимый цвет и сериалы. Есть только одно неудобство: все эти данные сейчас находятся в разных переменных. Было бы удобно хранить все эти данные в одном месте, и именно в таких ситуациях помогают ассоциативные массивы.
Запись всей информации о пользователе с помощью ассоциативного массива:
42, 'name' => 'Иннокентий', 'fav_shows' => ["game of thrones", "american horror story", "walking dead"] ];
Обратите внимание: массив может содержать другой массив в качестве одного из значений. В нашем примере мы поместили простой массив внутри ассоциативного под ключом fav_shows .
Вывод информации из ассоциативных массивов аналогичен простым массивам. Показ всей информации о пользователе из переменной $user :
В этом тренажёре вы потренируетесь использовать массивы в PHP на реальных задачах.
«Доктайп» — журнал о фронтенде. Читайте, слушайте и учитесь с нами.
