52568.fb2
"Сидорова","Зайцева", "Волкова");
$triples = array_chunk($persons,3);
// делим массив на подмассивы
// по три элемента
foreach ($triples as $k => $table){
// выводим полученные тройки
echo "За столиком номер $k сидят: <ul>";
foreach ($table as $pers)
echo "<li>$pers";
echo "</ul>";
}
?>
В результате получим:
за столиком номер 0 сидят:
• Иванов
• Петров
• Сидорова
за столиком номер 1 сидят:
• Зайцева
• Волкова
Сумма элементов массива
В этом разделе мы познакомимся с функцией, вычисляющей сумму всех элементов массива. Сама задача вычисления суммы значений массива предельно проста. Но зачем писать лишний раз один и тот же код, если можно воспользоваться специально созданной и всегда доступной функцией. Функция эта называется, как можно догадаться, array_sum(). И в качестве параметра ей передается только имя массива, сумму значений элементов которого нужно вычислить.
В качестве примера использования этой функции приведем решение более сложной задачи, чем просто вычисление суммы элементов. Этот пример также иллюстрирует применение функции array_slice(), которую мы обсуждали чуть раньше.
Пример 7.16. Пусть дан массив натуральных чисел. Нужно найти в нем такое число, что сумма элементов справа от него равна сумме элементов слева от него.
<?php
//массив задается функцией array
$arr = array(2,1,3,4,5,6,4);
// перебираем каждый элемент массива $arr.
// Внутри цикла текущий ключ массива
// содержится в переменной $k,
// текущее значение – в переменной $val
foreach ($arr as $k => $val){
$p = $k + 1;
// синтаксис array array_slice (
array array,int offset [,int length])
// array_slice выделяет подмассив
// длины length в массиве array,
// начиная с элемента offset.
$out_next = array_slice($arr,$p);
// получаем массив элементов,
// идущих после текущего
$out_prev = array_slice($arr,0,$k);
// получаем массив элементов,
// идущих перед текущим
// функция mixed array_sum (array array)
// подсчитывает сумму элементов массива array
$next_sum = array_sum($out_next);
$prev_sum = array_sum($out_prev);