Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Vtoraya_chast_uchebnika_po_WWW_Okonchat_variant...doc
Скачиваний:
33
Добавлен:
27.09.2019
Размер:
6.06 Mб
Скачать

3.3.1. Вывод элементов массива на экран

До сих пор в рассмотренных примерах по манипуляциям с массивами выводились отдельные элементы массива. Это не очень удобно. Поэтому рассмотрим другие методы.

В предыдущем разделе были определены численно-индексированные массивы24 и ассоциативные. На самом деле с точки зрения внутренней организации языка PHP это деление достаточно условно. Для печати, в том случае, когда массив представляет собой список; для вывода элементов массива, индекс которых лежит в определённом интервале – используется цикл for, в котором счётчиком цикла выступает индекс массива.

Однако если индексами массива являются строки, этот приём не подходит, и надо использовать цикл foreach, с помощью которого могут быть выведены не только все элементы массива (с помощью первой формы), но и значения соответствующего ключа элемента. Данный оператор уже рассматривался в разделе 2.2.9.5. У него возможны две формы. Напомним их:

Первая форма

foreach (массив as Имя_Переменной1)

{

Блок итерационных действий

}

Вторая форма

foreach (массив as Имя_Переменной2 => $Имя_Переменной1)

{

Блок итерационных действий

}

Применение этого оператора для вывода значений элементов массива любого типа поясним на примере Пример 3 -39:

Пример 3‑39

<?php

//Вывод списка помощью for

$arr = array ("яблоки","апельсины", "бананы","груши");

for ($i = 1; $i <=3; $i++)

echo "Фрукт с индексом \$i = $i - $arr[$i] <br>";

//Вывод списка с помощью первой формы foreach

foreach ($arr as $value)

{

echo "Текущий фрукт: $value <br>";

}

//Вывод списка с помощью второй формы foreach

foreach ($arr as $i => $value)

{

echo "Фрукт с индексом \$i = $i - $arr[$i] <br>";

}

$photo = array("name" => "dog.jpg",size => "130k","type" => "image/jpg");

//Вывод ассоциативного массива с помощью первой формы foreach

foreach ($photo as $value)

{

echo "Текущий элемент: $value <br>";

}

//Вывод ассоциативного массива с помощью второй формы foreach

foreach ($photo as $j => $value)

{

echo "Элемент c индексом $j = $value <br>";

}

//Использование функции print_r()

echo 'Использование функции print_r()<br>';

print_r($arr);

echo'<br>';

print_r($photo);

echo'<br>';

//Использование функции var_dump()

echo 'Использование функции var_dump()<br>';

var_dump($arr);

echo'<br>';

var_dump($photo);

echo'<br>';

?>

Для вывода значений элементов с конкретным значением ключа надо использовать оператор if.

Для вывода элементов массива удобно использовать функции print_r(имя_массива) и var_dump(имя_массива).

Как они работают, можно понять, выполнив приводимый выше пример (Пример 3 -39) и проанализировав результаты работы.

Так как результат, перед выводом на экран браузера, обрабатывается HTML, то он запишется в одну строку. Ниже приведён результат вывода по команде var_dump($arr):

array(4) { [0]=> string(6) "яблоки" [1]=> string(9) "апельсины" [2]=> string(6) "бананы" [3]=> string(5) "груши" }

Для получения более удобного, структурированного вида массива необходимо использовать HTML-дескрипторы, например:

echo "<pre>";

var_dump($arr);

Результат использования echo "<pre>" показан ниже:

array(4) {

[0]=>

string(6) "яблоки"

[1]=>

string(9) "апельсины"

[2]=>

string(6) "бананы"

[3]=>

string(5) "груши"

HTML-дескриптор вставляется в самом начале скрипта.

В заключение рассмотренной темы сформулируем ещё одно правило: для вывода элемента массива в строке, обрамлённой двойными кавычками, его название (его вызов) надо заключить в двойные кавычки.