Звезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активнаЗвезда не активна
 

Как вывести на экран массив php со значениями всех его элементов с помощью функции print_r

При написании кода программы на языке программирования 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>';
?>

Надеюсь, что данная информация оказалась полезной и упростила жизнь также, как и мне. ;)

Заберите ссылку на статью к себе, чтобы потом легко её найти ;)

Выберите, то, чем пользуетесь чаще всего:

Спасибо за внимание, оставайтесь на связи! Ниже ссылка на форум и обсуждение ; )