Array ( [А.С. Пушкин] =>

Название: 'Руслан и Людмила'

[Л.Н. Толстой] =>

Название: 'Война и мир'

[М.Ю. Лермонтов] =>

Название: 'Герой нашего времени')

Выделение подмассива

Функция array_slice

Поскольку массив – это набор элементов, вполне вероятно, потребуется выделить из него какой-нибудь поднабор. В PHP для этих целей есть функция array_slice. Ее синтаксис таков:

array_slice (массив,

номер_элемента [, длина])

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

<?php

$arr = array(1,2,3,4,5);

$sub_arr = array_slice($arr,2);

print_r($sub_arr);

/*

выведет Array ( [0] => 3 [1] =>4 [2] => 5 ),

т.е. подмассив, состоящий из элементов

3, 4, 5 */

$sub_arr = array_slice($arr,-2);

print_r($sub_arr);

// выведет Array ( [0] => 4 [1] => 5 ),

// т.е. подмассив, из элементов 4, 5

?>

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

<?php

$arr = array(1,2,3,4,5);

$sub_arr = array_slice($arr, 2, 2);

// содержит массив из элементов 3, 4

$sub = array_slice($arr,-3, 2);

// тоже содержит массив из элементов 3, 4

$sub1 = array_slice($arr,0, -1);

// содержит массив из

// элементов 1, 2, 3, 4

$sub2 = array_slice($arr,-4, -2);

// содержит массив из элементов 2, 3

?>

Функция array_chunk

Есть еще одна функция, похожая на array_slice() – это array_chunk(). Она разбивает массив на несколько подмассивов заданной длины. Синтаксис ее такой:

array_chunk ( массив, размер

[, сохранять_ключи])

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

Пример 7.15. У нас есть список приглашенных, оформленный в виде массива их фамилий. У нас имеются столики на три персоны. Поэтому нужно распределить всех приглашенных по трое.

<?php

$persons = array('Иванов', 'Петров',

'Сидорова','Зайцева', 'Волкова');

$triples = array_chunk($persons,3);

// делим массив на подмассивы

// по три элемента

foreach ($triples as $k => $table){

// выводим полученные тройки

echo 'За столиком номер $k сидят: <ul>';

foreach ($table as $pers)

echo '<li>$pers';

echo '</ul>';

}

?>

В результате получим:

за столиком номер 0 сидят:

• Иванов

• Петров

• Сидорова

за столиком номер 1 сидят:

• Зайцева

• Волкова

Сумма элементов массива

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату