есть массив положительных целых чисел вида:
$arr = array (
1,
2,
3,
101,
array (
105,
2,
array (56,1)
),
7
);
Максимальная глубина вложености не известна.
Нужно написать функцию которая найдет в массиве максимум
я написал:
function MaxArray($arr) {
if (empty($max)) $max = -1;
if(is_array($arr))
{
for($i=0; $i<count($arr); $i++)
{
if(is_array($arr[$i]))
{
return MaxArray($arr[$i]);
}
else
{
if ($max < $arr[$i]) $max = $arr[$i];
}
}
}
else
{
if ($max <= $arr) {
$max = $arr;
return $max;
}
}
}
почему не работает $max = MaxArray; ??
Спустя 6 минут, 15 секунд (12.12.2011 - 18:33) johniek_comp написал(а):
Цитата |
почему не работает $max = MaxArray; ?? |
сессия?
Спустя 8 минут, 7 секунд (12.12.2011 - 18:41) dadli написал(а):
lyalyuk
$arr = array(1,2,3,101,array(105,2,array(56,1)),7);
function aa($mas) {
$newarr = array();
foreach ($mas as $val) {
if (is_array($val)) {
array_splice($newarr,count($newarr),1,aa($val));
}
else {
array_splice($newarr,count($newarr),1,$val);
}
}
return max($newarr);
}
echo aa($arr);
Спустя 19 часов, 31 секунда (13.12.2011 - 13:42) lyalyuk написал(а):
Цитата (johniek_comp @ 12.12.2011 - 15:33) | ||
сессия? |
типо того. Сдаю экзамен на elance.
Спустя 12 минут, 45 секунд (13.12.2011 - 13:55) lyalyuk написал(а):
dadli, Спасибо большое