【发布时间】:2017-08-31 08:25:22
【问题描述】:
我有两个数组,它们具有来自两个不同查询的相同键。
第一个查询结果:
Array
(
[0] => Array
(
[Contribution] => 1000.00
[P_Name] => A
)
[1] => Array
(
[Contribution] => 1500.00
[P_Name] => B
)
)
第二次查询结果:
Array
(
[0] => Array
(
[Contribution] => 100.00
[P_Name] => A
)
[1] => Array
(
[Contribution] => 200.00
[P_Name] => B
)
)
第一个数组可能是空的和/或第二个可能是空的。
我想创建一个新数组,找到 Contribution 值与 P_Name 值匹配的总和,如下所示:
Array
(
[0] => Array
(
[Contribution] => 1100.00
[P_Name] => A
)
[1] => Array
(
[Contribution] => 1700.00
[P_Name] => B
)
)
我试过array_merge():
$result1= $this->model1->getOthersTotal($date);
$result2=$this->model1->getMiscTotal($date);
$merged_result = array_merge( $result1, $result2 );
$merged_result 包含:
Array (
[0] => Array (
[Contribution] => 1000.00
[P_Name] => A
)
[1] => Array (
[Contribution] => 1001.00
[P_Name] => A
)
[2] => Array (
[Contribution] => 69.00
[P_Name] => B
)
)
【问题讨论】:
-
你会展示你到目前为止的尝试吗?
-
如果两个数组的长度相同,那么您可以轻松地循环它们并检查 P_Name,如果匹配,则求和贡献并将其作为结果存储到另一个数组中
-
我试过 Array_merge , $result1= $this->model1->getOthersTotal($date); $result2=$this->model1->getMiscTotal($date); $merged_result = array_merge($result1, $result2);数组 ( [0] => 数组 ( [贡献] => 1000.00 [P_Name] => A ) [1] => 数组 ( [贡献] => 1001.00 [P_Name] => A ) [2] => 数组 ( [贡献] => 69.00 [P_Name] => B ) )
标签: php multidimensional-array array-merge array-sum