Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
WEB - Лабораторная работа_3 - PHP.pdf
Скачиваний:
90
Добавлен:
26.03.2015
Размер:
232.72 Кб
Скачать

$С = $А + $В; // $С = аггау(10,11,12),

$С = array_merge($A,$B); // $С = array(10,11,12,15,17,18);

Таким образом, функцию array_merge() очень удобно использовать для слияния списков.

5.3. Перебор массива

Для перебора массивов в PHP можно использовать два метода:

*косвенный перебор;

*прямой перебор.

Косвенный перебор

Принцип косвенного перебора заключается в том, что сначала вычисляется очередной индекс (ключ), а затем по этому индексу косвенно находится значение элемента массива.

Например:

$Реор1е[0]="Коля"; $Реор1е[1]="Витя"; $Реор1е[2]="Дима";

for ($i=0; $i<count ($People); $i++) echo "$People[$i] <br>";

Это мы с вами перебрали список, индексами которого являются целые числа. Для этого мы использовали цикл for, в котором перебирали индексы последовательно увеличивая их на 1, и по индексам получи, элементы массива. Однако, что делать, если нам нужно перебрать не список, а ассоциативный массив? Ведь в ассоциативном массиве индексе (ключом) является не число, а строка:

$Реор1е["Иванов"] = "Иван"; $Реор1е["Сидоров" ] = "Николай"; $Реор1е["Петров" ] = "Петр";

Выполнить перебор такого массива поможет следующий цикл:

for(ReSet($People); ($k = key($People)); Next($People)) echo "$k = $People[$k] <br>";

Здесь функция Reset() устанавливает текущий элемент массива SPeople[] на первую позицию, как бы «перематывает» массив на начало. Функция key() возвращает ключ текущего элемента. Если нет больше элементов в массиве, то эта функция возвратит 0, и цикл прекратит свою работу. Функция Next() перемещает текущий элемент на одну позицию вперед (то есть переходит к следующему элементу массива).

В теле цикла можно также использовать функцию currentQ, которая возвращает значение текущего элемента. С использованием этой функции вышеприведенный цикл можно переписать так:

for(Reset($People); ($k = key($People)) ; Next ( $People)) echo "$k =".current($People)."<br>";

До сих пор мы перебирали ассоциативный массив с начала в конец. Тем не менее, в PHP имеется возможность перебора такого массива и с конца.

При этом вам лишь надо использовать функции EndQ и Prev(), вместо функций ResetQ и NextQ. Первая из них устанавливает текущий элемент в конец массива, а вторая перемещает текущий элемент на одну позицию назад (то есть переходит к предыдущему элементу):

for(End($People); ($k = key($People)); Prev($People)) echo "$k = {$People[$k]} <br>";

Прямой перебор

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

Соседние файлы в предмете Программирование для Web