我有这样的数组。
Array
(
[0] => Array
(
[0] => Array
(
[id] => 123
[name] => abc
[age] => 21
)
[1] => Array
(
[id] => 456
[name] => abc
[age] => 25
)
[2] => Array
(
[id] => 789
[name] => ghi
[age] => 40
)
)
)
我想要做的是在该数组中找到任何重复的名称,然后将其放置在新数组中。所以最后,我的数组必须像这样。
Array
(
[0] => Array
(
[0] => Array
(
[id] => 123
[name] => abc
[age] => 21
)
[1] => Array
(
[id] => 789
[name] => ghi
[age] => 40
)
)
[1] => Array
(
[0] => Array
(
[id] => 456
[name] => abc
[age] => 25
)
)
)
我正在努力做到这一点。任何机构都可以帮助我解决这个问题吗?
您可以为此使用一个简单的foreach,如果看到重复的数组,则可以将其复制到下一个维度。例:
$values = array(
array(
array('id' => 123, 'name' => 'abc', 'age', 21),
array('id' => 456, 'name' => 'abc', 'age', 25),
array('id' => 789, 'name' => 'ghi', 'age', 40),
),
);
foreach($values as $batch) {
$temp = array();
foreach($batch as $key => $value) {
if(!isset($temp[$value['name']])) {
$temp[$value['name']] = $value; // temporary storage
} else {
unset($batch[$key]);
$values[][] = $value; // push it outside this batch
}
}
}
echo '<pre>';
print_r($values);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句