我有一个像 -
这样的数组Array
(
[0] => Array
(
[type] => 9
[code] => 10
[date] => 2018-03-31
)
[1] => Array
(
[type] => 2
[code] => 20
[date] => 2018-04-02
)
[2] => Array
(
[type] => 3
[code] => 30
[date] => 2018-03-31
)
[3] => Array
(
[type] => 5
[code] => 40
[date] => 2018-03-31
)
)
预期的数组将是 -
Array
(
[0] => Array
(
[type] => 17
[code] => 80
[date] => 2018-03-31
)
[1] => Array
(
[type] => 2
[code] => 20
[date] => 2018-04-02
)
)
即如果日期键值相同,我需要将其他键值相加。 尝试不同的方式。但是没有用。
编辑: 我试着这样做:
$new_array = array();
foreach($response as $key=>$res)
{
if(array_key_exists("date", $res) && !in_array($res['date'], $date_array))
{
array_push($date_array, $res['date']);
$flag = 1;
$is_multiple = 0;
}
if(in_array($res['date'], $date_array) && $flag == 1)
{
$code += $res['code'];
$type += $res['type'];
$new_array[$key]['type'] = $type;
$new_array[$key]['code'] = $code;
$new_array[$key]['date'] = $res['date'];
}
else
{
$new_array[$key]['type'] = $res['type'];
$new_array[$key]['code'] = $res['code'];
$new_array[$key]['date'] = $res['date'];
}
}
创建新的日期唯一数组并检查日期是否已存在。 如果存在日期,只需输入关键值的总和。
但是,这似乎不起作用。
感谢任何帮助。