В статье приведены примеры вывода содержимого php массивов на экран.

Функция print_r()

Функция print_r() — выводит удобочитаемую информацию о переменной, принимает один аргумент, ту самую переменную, содержимое которой вы хотите проверить. При этом, чтобы отобразить все пробелы и переносы строк, нужно обернуть вывод print_r() в теги <pre>...</pre>.


$array = [
	'Январь',
	'Февраль',
	'Март',
	'Апрель',
	'Май',
	'Июнь',
	'Июль',
	'Август',
	'Сентябрь',
	'Октябрь',
	'Ноябрь',
	'Декабрь',
];

echo '<pre>';
print_r($array);
echo '</pre>';

Результат:

Array
(
    [0] => Январь
    [1] => Февраль
    [2] => Март
    [3] => Апрель
    [4] => Май
    [5] => Июнь
    [6] => Июль
    [7] => Август
    [8] => Сентябрь
    [9] => Октябрь
    [10] => Ноябрь
    [11] => Декабрь
)

Функция var_dump()


Делает то же самое что и print_r(), но дополнительно отображает информацию о типе и значении.


$array = [
	'Январь',
	'Февраль',
	'Март',
	'Апрель',
	'Май',
	'Июнь',
	'Июль',
	'Август',
	'Сентябрь',
	'Октябрь',
	'Ноябрь',
	'Декабрь',
];

echo '<pre>';
var_dump($array);
echo '</pre>';

Результат:

array(12) {
  [0]=>
  string(12) "Январь"
  [1]=>
  string(14) "Февраль"
  [2]=>
  string(8) "Март"
  [3]=>
  string(12) "Апрель"
  [4]=>
  string(6) "Май"
  [5]=>
  string(8) "Июнь"
  [6]=>
  string(8) "Июль"
  [7]=>
  string(12) "Август"
  [8]=>
  string(16) "Сентябрь"
  [9]=>
  string(14) "Октябрь"
  [10]=>
  string(12) "Ноябрь"
  [11]=>
  string(14) "Декабрь"
}

Функция на основе print_r() и var_dump()

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


/**
 * обёртка для print_r() и var_dump()
 * @param $val - значение
 * @param string $name - заголовок
 * @param bool $mode - использовать var_dump() или print_r()
 * @param bool $die - использовать die() после вывода
 */
function print_p($val, $name = 'Содержимое переменной', $mode = false, $die = false)
{
    echo '<pre>'.(!empty($name) ? $name.': ' : ''); if($mode) { var_dump($val); } else { print_r($val); } echo '</pre>';
    if($die) die;
}
Позволяет выводить переменную с подписью (по умолчанию подпись «Содержимое переменной»), выводить просто или с указанием типов, а так же можно остановить дальнейшее выполнение кода. Очень удобно при отладке.


$array = [
	'Январь',
	'Февраль',
	'Март',
	'Апрель',
	'Май',
	'Июнь',
	'Июль',
	'Август',
	'Сентябрь',
	'Октябрь',
	'Ноябрь',
	'Декабрь',
];

print_p($array, 'Месяцы года');


Результат:

Месяцы года: Array
(
    [0] => Январь
    [1] => Февраль
    [2] => Март
    [3] => Апрель
    [4] => Май
    [5] => Июнь
    [6] => Июль
    [7] => Август
    [8] => Сентябрь
    [9] => Октябрь
    [10] => Ноябрь
    [11] => Декабрь
)

Функция var_export()

Она возвращает строковое представление переменной, в виде полноценного php-кода


$array = [
	'Январь',
	'Февраль',
	'Март',
	'Апрель',
	'Май',
	'Июнь',
	'Июль',
	'Август',
	'Сентябрь',
	'Октябрь',
	'Ноябрь',
	'Декабрь',
];

echo '<pre>';
var_export($array);
echo '</pre>';

Результат:


array (
  0 => 'Январь',
  1 => 'Февраль',
  2 => 'Март',
  3 => 'Апрель',
  4 => 'Май',
  5 => 'Июнь',
  6 => 'Июль',
  7 => 'Август',
  8 => 'Сентябрь',
  9 => 'Октябрь',
  10 => 'Ноябрь',
  11 => 'Декабрь',
)

Функция implode()

Эта функция предназначена для объединения элементов массива в строку. При этом для разделения элементов в строке, можно задать символ или набор символов, обычно это запятая или перенос строки. Для наглядности воспользуемся тегом <br/> переноса строки.

$array = [
	'Январь',
	'Февраль',
	'Март',
	'Апрель',
	'Май',
	'Июнь',
	'Июль',
	'Август',
	'Сентябрь',
	'Октябрь',
	'Ноябрь',
	'Декабрь',
];

$str = implode("<br/>", $array);
echo $str;
Результат:

Январь
Февраль
Март
Апрель
Май
Июнь
Июль
Август
Сентябрь
Октябрь
Ноябрь
Декабрь

Цикл foreach

Данный цикл создан для поэлементного перебора коллекции, он остановиться тогда, когда в массиве закончатся элементы. Это удобно в отличии от того же цикла for где нам нужно будет предварительно получить длину массива.

$array = [
	'Январь',
	'Февраль',
	'Март',
	'Апрель',
	'Май',
	'Июнь',
	'Июль',
	'Август',
	'Сентябрь',
	'Октябрь',
	'Ноябрь',
	'Декабрь',
];

foreach ($array as $n => $row) {
	echo ($n + 1)  . '.' . $row; //Выведем номер элемента массива (не путать с индексом)
	if ($n < count($array) - 1) {
		echo "<br>\r\n";
	} 
}

Результат: 
1.Январь
2.Февраль
3.Март
4.Апрель
5.Май
6.Июнь
7.Июль
8.Август
9.Сентябрь
10.Октябрь
11.Ноябрь
12.Декабрь

Цикл for

Работает примерно так же как и foreach, однако нам нужно передать количество итераций (длину массива), чтобы цикл знал когда остановиться.

$array = [
	'Январь',
	'Февраль',
	'Март',
	'Апрель',
	'Май',
	'Июнь',
	'Июль',
	'Август',
	'Сентябрь',
	'Октябрь',
	'Ноябрь',
	'Декабрь',
];

for ($n = 0; $n <= count($array) -1; $n++) {
	//Обращаемся к элементам массива по индексу $n
	echo $n + 1 . '.' . $array[$n] . "<br>\r\n"; 
}

Результат такой же как и в прошлом примере
1.Январь
2.Февраль
3.Март
4.Апрель
5.Май
6.Июнь
7.Июль
8.Август
9.Сентябрь
10.Октябрь
11.Ноябрь
12.Декабрь

Цикл while


$array = [
	'Январь',
	'Февраль',
	'Март',
	'Апрель',
	'Май',
	'Июнь',
	'Июль',
	'Август',
	'Сентябрь',
	'Октябрь',
	'Ноябрь',
	'Декабрь',
];

$index = 0;
while ($index < count($array)) { //Цикл будет идти пока условие выполняется
	echo $index + 1 . '.' . $array[$index] . "<br>\r\n";
	$index++;
}

Результат тот же
1.Январь
2.Февраль
3.Март
4.Апрель
5.Май
6.Июнь
7.Июль
8.Август
9.Сентябрь
10.Октябрь
11.Ноябрь
12.Декабрь

Функция array_map()

Совсем экзотический пример с функцией array_map(). Она вызовет callback-функцию для каждого элемента массива.

$array = [
	'Январь',
	'Февраль',
	'Март',
	'Апрель',
	'Май',
	'Июнь',
	'Июль',
	'Август',
	'Сентябрь',
	'Октябрь',
	'Ноябрь',
	'Декабрь',
];

//Наша callback-функция
function arrDisplay($n){
	echo $n . '<br/>';
}

array_map('arrDisplay', $array);

Результат:
Январь
Февраль
Март
Апрель
Май
Июнь
Июль
Август
Сентябрь
Октябрь
Ноябрь
Декабрь

Пользуйтесь примерами из статьи. Желаю удачи!

Полезная статья?
(Нет голосов)
Вам также могут понравиться
Английский для программистов

Английский для программистов

Почему IT-специалисту необходимо освоить английский язык? Разбираем в статье.

Как подключить CSS и JS файлы к шаблону 1С Битрикс

Как подключить CSS и JS файлы к шаблону 1С Битрикс

Как правильно подключать стили и скрипты к шаблону 1С Битрикс.

Генерация оглавления статьи

Генерация оглавления статьи

В статье рассмотрен пример функции для генерации оглавления статьи блога или новости


Комментарии
Защита от автоматических сообщений
CAPTCHA
Введите слово на картинке