【发布时间】:2018-02-06 17:08:40
【问题描述】:
我有一个多维数组,其中有几组值。如果键“name”的值匹配,我在这里要做的是合并键值“marks”和“course”。到目前为止,我已经完成了如下操作来删除重复项:
$multi = array(
array("name" => "Michael", "marks" => "25, 27, 34", "course" => "ABC"),
array("name" => "Kumar", "marks" => "59, 71, 38", "course" => "DEF"),
array("name" => "Peter", "marks" => "94, 43, 61", "course" => "JKL"),
array("name" => "Kumar", "marks" => "83, 57, 73", "course" => "GHI"),
);
$multiTemp = $multiNew = array();
foreach($multi as $key=>$val){
if(array_key_exists($val['name'], $multiTemp) ) {
continue;
}
$multiTemp[$val['name']] = 1;
$multiNew[] = $val;
}
echo "<pre>";
print_r($multiNew);
echo "</pre>";
它只是删除重复的值。有没有办法根据我在代码上面提到的条件合并其他两个值?就像数组$multi 中的第二个和第四个数组为name 携带相同的值,所以我希望将marks 和course 合并为一个。提前感谢您的帮助。
电流输出:
Array
(
[0] => Array
(
[name] => Michael
[marks] => 25, 27, 34
[course] => ABC
)
[1] => Array
(
[name] => Kumar
[marks] => 59, 71, 38
[course] => DEF
)
[2] => Array
(
[name] => Peter
[marks] => 94, 43, 61
[course] => JKL
)
)
预期输出:
Array
(
[0] => Array
(
[name] => Michael
[marks] => 25, 27, 34
[course] => ABC
)
[1] => Array
(
[name] => Kumar
[marks] => 59, 71, 38, 83, 57, 73
[course] => DEF, GHI
)
[2] => Array
(
[name] => Peter
[marks] => 94, 43, 61
[course] => JKL
)
)
【问题讨论】:
-
发布最终预期结果
-
你好,RomanPerekhrest。这里是: Array ( [0] => Array ( [name] => Michael [marks] => 25, 27, 34 [course] => ABC ) [1] => Array ( [name] => Kumar [标记] => 59, 71, 38, 83, 57, 73 [课程] => DEF, GHI ) [2] => 数组 ( [名称] => 彼得 [标记] => 94, 43, 61 [课程] => JKL ) )
-
也编辑了问题,以添加预期的输出
标签: php arrays multidimensional-array