<?php
//массив задается функцией array
$arr = array(2,1,3,4,5,6,4);
// перебираем каждый элемент массива $arr.
// Внутри цикла текущий ключ массива 
// содержится в переменной $k,
// текущее значение – в переменной $v
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);
// если сумма элементов до текущего равна 
// сумме элементов после, то выводим 
// значение текущего элемента
   if ($next_sum==$prev_sum) 
       echo "value:$val";
// можно посмотреть, что представляют собой 
// рассмотренные массивы на каждом шаге
// print_r($out_next); echo "<br>";
// print_r($out_prev);
// echo "$next_sum, $prev_sum<br>"; 
   echo "<hr>";
}
?>
    

Пример 7.16. Программа поиска числа, такого что сумма элементов справа от него равна сумме элементов слева от него
Закрыть окно