При написании кода программы на языке программирования PHP часто возникает необходимость вывести на экран значения массива. Существует масса способов решения этой задачи, однако, самым простым вариантом я нахожу использование для этой цели стандартной функции php print_r
. В этой статье рассмотрим именно вариант вывода на экран массива php со значениями всех его элементов с помощью этой функции print_r
.
Формирование двумерного массива php
Для того, чтобы показать, как вывести на экран массив php со значениями всех его элементов на полностью рабочем примере, сперва сформируем двумерный массив $array
4x4 с такими значениями:
[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 <= d; $y++ )
{
for ( $x = 1; $x <= 4; $x++ and $z++)
{
$array[$y][$x] = $z;
}
}
В общем, массив сформирован. Значения элементов — заглавные буквы латинского алфавита от 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
, стоит воспользоваться тегом <pre>
языка HTML, который используется браузером для формирования отображения вывода. Для этого вывод функции print_r
следует производить между тегами HTML <pre>
и </pre>
:
echo '<pre>';
print_r($array);
echo '</pre>';
Это наконец даст нужный результат: выведет на экран браузера массив в форматированном, удобном для восприятия и понимания виде:
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.
Ну и напоследок, код работающего скрипта, иллюстрирующего всё изложенное выше:
<?php
echo 'Тест вывода массива php<br><br>';
$z = A; $z--;
for ( $y = a; $y <= d; $y++ )
{
for ( $x = 1; $x <= 4; $x++ and $z++)
{
$array[$y][$x] = $z;
echo '[' . $y . '][' . $x. ']=' . $z. ' ';
}
echo '<br>';
}
echo '<br><br>';
echo $array;
echo '<br><br><br>';
print_r($array);
echo '<br><br><br>';
echo '<pre>';
print_r($array);
echo '</pre>';
?>
Надеюсь, что данная информация оказалась полезной и упростила жизнь также, как и мне. ;)
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)