#php #arrays #multidimensional-array
#php #массивы #многомерный массив
Вопрос:
У меня есть ассоциативный массив (динамический — может иметь больше массивов, но те же ключи):
Array
(
[food] => Array
(
[0] => 3
[1] => 4
[2] => 1
)
[liquor] => Array
(
[0] => 4
[1] => 5
[2] => 0
)
[beer] => Array
(
[0] => 5
[1] => 6
[2] => 0
)
)
Мне нужно использовать array_sum для каждого массива, чтобы результат был:
Array ( [food] => 8, [liquor] => 9, [beer] => 11 )
Спасибо!
Ответ №1:
$result = array_map('array_sum', $your_array);
Пример: http://ideone.com/LqTAV
Комментарии:
1.
array_sum
необходимо заключить в кавычки, не полагайтесь на отображение неопределенной константы в строку ( 1 для правильной идеи).2. Я тоже получаю ошибку: Обратите внимание: использование неопределенной константы array_sum — предполагается ‘array_sum’, но array_map — полезно знать.
3. @hakre — я предпочел просто исправить, чтобы его цитировали после расширенного комментария Алекса; пожалуйста, прекратите путаться с ответом. >. <
4. us.php.net/array_map — сигнатура функции имеет a
$callback
в качестве первого параметра. Смотрите us.php.net/manual/en /… — «Функция PHP передается по ее имени в виде строки». В большинстве сред оставить его без кавычек не будет проблемой, но для максимальной совместимости кавычки являются правильными.5. @artlung: Я бы сказал, что никогда не стоит передавать его без кавычек.