Всем привет! $arr = [[11,45,16,20],[74,88,12],[55,66,11,99,100]]; есть вот такой массив.Задание следующее: Нужно вывести максимальные значения из каждого массива в новый массив. То есть должно получиться $result=[45,88,100]; PHP: $arr = [[11,45,16,20],[74,88,12],[55,66,11,99,100]]; $result=[]; $count= count($arr); $max=0; for($i=0;$i<$count;$i++){ for($q=0;$q<count($arr[$i]);$q++){ if($max<$arr[$i][$q]){ $max=$arr[$i][$q]; } elseif($max>$arr[$i][$q]){ echo $max<$arr[$i][$q]; } }echo $result[]=$max . ' '; } написал вот так,выводит максимальные значения,но только потому,что они идут по нарастающей.То есть если мы во втором массиве вместо 88 поставим 888,то в результате он задублирует и получиться $result=[45,888,888]; Помогите с решением пожалуйста.Что делаю не так и если не сложно обьясните пожалуйста...
1. переделай на foreach потому что не надо выводить ничего, пока ты не закончил проходить по всему массиву. ведь там ещё могут быть числа больше. переделай на foreach и посмотри, нет ли в php уже готовой функции для поиска максимального. вдруг есть. тогда цикл станет простым и удобным.
Пройдись мысленно по алгоритму в первом посте. for - это цикл. В скобках параметры цикла, а в фигурных скобках - тело цикла. После того, как внутренний цикл отрабатывает - переменная $max со старым значением попадает в следующую итерацию внешнего цикла, т е в следующий внутренний цикл.