Правильно ли я понял, как надо выполнить задачу?

Есть задачка, подскажите так ли ее надо решать или имелся в виду другой подход к решению?

Задача:
Имеется массив вида:
$list = [
    ['number' => 3],
    ['number' => 2],
    ['number' => 45],
];

Необходимо вывести сумму значений полей number всех элементов этого массива.
Задачу нужно выполнить без использования циклов.

Мое решение:

$list = [
    ['number' => 3],
    ['number' => 2],
    ['number' => 45],
];

list($arr1,$arr2,$arr3)=$list; 

$arr1=array_values($arr1);
$arr2=array_values($arr2);
$arr3=array_values($arr3);

$result=array_sum(array_merge($arr1,$arr2,$arr3));

print_r($result);
  • Вопрос задан
  • 88 просмотров
Решения вопроса 1
DevMan
@DevMan
<?php

$list = [
	['number' => 3],
	['number' => 2],
	['number' => 45],
];
// 1st example
echo array_sum(array_column($list, 'number')), PHP_EOL;

// 2nd example
echo array_reduce($list, function ($carry, $item) {
	return $carry += $item['number'];
}), PHP_EOL;

// 3rd example
array_walk($list, function ($item) use (&$sum) {
	$sum += $item['number'];
});
echo $sum, PHP_EOL;

// 4th example
array_map(function ($item) use (&$sum2) {
	$sum2 += $item['number'];
}, $list);
echo $sum2, PHP_EOL;

https://ideone.com/xSbmOX
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы