PHP: <?php $a= array(-11,12,3,4,5,27,7,-8,99,4); $min=$a[0]; $max=$a[0]; for($i=0;$i<10;$i++){ if($a[$i]<$min){ $min=$a[$i]; $min_i=$i; } if($a[$i]>$max){ $max=$a[$i]; $max_i=$i; } } $temp=$a[$min_i]; $a[$min_i]=$a[$max_i]; $a[$max_i]=$temp; for($i=0;$i<10;$i++){ echo $a[$i]."<br/>"; } ?> вроде правильно но не получаеться
перевернуть массив ? или фильтрацию от мин до макс ? --- Добавлено --- одна функция делает это https://php.ru/manual/function.asort.html
MouseZver, причем здесь фильтрация. в названии темы вся суть. Залкар можно так PHP: $a = array(-11,12,3,4,5,27,7,-8,99,4); $min_i = $max_i = 0; // индексы максимального и минимального элемента foreach($a as $k=>$v) { $min_i = $v<$a[$min_i] ? $k : $min_i; $max_i = $v>$a[$max_i] ? $k : $max_i; } list($a[$min_i], $a[$max_i]) = [$a[$max_i],$a[$min_i]]; // меняем местами элементы
самый банальный вариант PHP: $a = array(-11,12,3,4,5,27,7,-8,99,4); $max_val = max($a); $min_val = min($a); $max_key = array_search($max_val, $a); $min_key = array_search($min_val, $a); $a[$min_key] = $max_val; $a[$max_key] = $min_val; print_r($a);