Добрый день! Подскажите, плиз! Есть некий массив: $arr_1 = [ [ 'name' => 'Michael', 'age' => 26, 'rab' => 'akter', 'cat' => 'new' ], [ 'name' => 'Igor', 'age' => 28, 'rab' => 'akter', 'cat' => 'prof' ], [ 'name' => 'Alex', 'age' => 32, 'rab' => 'akter', 'cat' => 'vip' ], [ 'name' => 'Fedor', 'age' => 34, 'rab' => 'akter', 'cat' => 'vip' ], [ 'name' => 'Artur', 'age' => 31, 'rab' => 'akter', 'cat' => 'vip' ] ]; Я пытаюсь подсчитать количество участников и средний возраст. Пишу следующий код: foreach($arr_1 as $key => $value) echo $value1['age']."<br/>"; echo "sum(a) = ". array_sum($value). '<br>'; foreach($arr_1 as $arr_1) $ages_sum = $ages_sum + $arr_1['age']; echo $ages_sum. '<br>'; echo count ($value); В итоге общий возраст получаю, но вместо числа сотрудников (5), получаю число ключей - 4. Как получить число сотрудников? Где я ошибаюсь?
А посмотреть, что в array_sum передаётся. И вообще, понимание цикла foreach на нулевом уровне, перечитай
Это я пробую давно, здесь и затык. Нужно количество массивов в массиве, если говорить совсем неправильно. count($arr_1) - стабильно выдаёт 4. Код foreach($arr_1 as $arr_1) $ages_sum = $ages_sum + $arr_1['age']; echo $ages_sum. '<br>'; Дает сумму значений. По логике, нужно count(arr_1), но получается 4, число ключей в одном массиве, а не количество массивов (их - 5).
каким макаром 4, если у тебя 5 тел в массиве ? что за бред сочиняешь --- Добавлено --- Что, лол ? --- Добавлено --- https://onlinephp.io/c/b4439 --- Добавлено --- Нафиг цитируешь снова свой код ? нумерация массива !== кол-во элементов в нем
В итоге получилось следующее: $s = count($arr_1); echo $s; foreach($arr_1 as $arr_1) $ages_sum = $ages_sum + $arr_1['age']; echo $ages_sum. '<br>'; echo $ages_sum/$s; Результат тот, который и нужен. Пусть несовершенный вариант, но со всеми тонкостями, Бог даст, разберусь потом.Спасибо за помощь!