我根本不知道如何对多维数组中的值进行求和和回显。这是我的数组,其中包含有关订单的信息。
我需要汇总 RESULT_VALUE 并回显一个统一的 DESCR 列表。我已经尝试了很多东西,但没有任何东西,从来没有使用过那种阵列级别。这是一个包含两种不同产品的阵列,具有应用折扣。
Array
(
[0] => Array
(
[ORDER_ID] => 35
[DISCOUNT_ID] => 18
[ORDER_COUPON_ID] => 0
[COUPON_ID] =>
[RESULT] => Array
(
[BASKET] => Array
(
[617] => Array
(
[RULE_ID] => 248
[APPLY] => Y
[RULE_DESCR_ID] => 248
[ACTION_BLOCK_LIST] => Array
(
[0] => 0
)
[DESCR_DATA] => Array
(
[0] => Array
(
[TYPE] => 2
[VALUE] => 10
[VALUE_TYPE] => P
[VALUE_ACTION] => D
[RESULT_VALUE] => 229.905
[RESULT_UNIT] => RUB
)
)
[DESCR] => Array
(
[0] => discount 10% (229.91 rub.)
)
[DESCR_ID] => 248
[BASKET_ID] => 617
[MODULE] => catalog
[PRODUCT_ID] => 10109
)
[618] => Array
(
[RULE_ID] => 249
[APPLY] => Y
[RULE_DESCR_ID] => 249
[ACTION_BLOCK_LIST] => Array
(
[0] => 0
)
[DESCR_DATA] => Array
(
[0] => Array
(
[TYPE] => 2
[VALUE] => 10
[VALUE_TYPE] => P
[VALUE_ACTION] => D
[RESULT_VALUE] => 70.796
[RESULT_UNIT] => RUB
)
)
[DESCR] => Array
(
[0] => discount 10% (70.80 rub.)
)
[DESCR_ID] => 249
[BASKET_ID] => 618
[MODULE] => catalog
[PRODUCT_ID] => 10054
)
)
)
[ACTION_BLOCK_LIST] => 1
)
答案 0 :(得分:0)
您可以使用array_sum和array_column。
Array_column从数组中的一列中获取所有值,并且array_sum ...总结它......
.ToArray
答案 1 :(得分:0)
Echo array_sum(array_column($array, 'RESULT_VALUE'));
此解决方案有效吗?
答案 2 :(得分:0)
您可以使用array_walk_recursive来获得结果。下面的代码汇总了密钥$ key的所有值,无论它们在数组中的哪个位置
$key = 'RESULT_VALUE';
$sum = 0;
array_walk_recursive ($array,
function($v, $k, $key) use (&$sum) {
if($k === $key) { $sum += $v;}},
$key);
echo $sum;