[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: ошибка в коде
maximka787
Мужики, помогите не пойму в чем проблема.
Есть массив. Надо посчитать сумму элементов в нем, не учитывая максимальное и минимальное значение.
Вот что я сделал.

Работает все прекрасно, но кода ставишь два одинаковых элемента например 8 и 8 то при выводе print_r($arr) высвечивается массив как надо Array ( [0] => 145 [1] => 21 [3] => 8 ) то сумма почему то без учета одной восьмерки.

$arr = array(145, 21, 8, 8, 501);

//поиск минимумов и максимумов
$min = $max = $arr[0];
$index_min = $index_max = 0;

for ($i=1; $i<count($arr); $i++) {
if ($arr[$i] > $max) {
$index_max = $i;
$max = $arr[$i];
} else

if
($arr[$i] < $min) {
$index_min = $i;
$min = $arr[$i];
}
}

// END поиск минимумов и максимумов

$sum1 = 0;
for ($m=0; $m<count($arr); $m++) {
$sum1 += $arr[$m];
}

//echo '<p>min '.$arr[$index_max].' = '.$max;
//echo '<br>max '.$arr[$index_min].' = '.$min.'</p>';


unset($arr[$index_max]);
unset($arr[$index_min]);

$sum2 = 0;
for ($n=0; $n<count($arr); $n++) {
$sum2 += $arr[$n];
}

echo '<br>После обработки = '.$sum_final;


Вот результат

Array ( [0] => 145 [1] => 21 [2] => 8 [3] => 8 [4] => 501 )
До обработки = 683
Array ( [0] => 145 [1] => 21 [3] => 8 )
После обработки = 166


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.