这是一个多维数组。并且只删除名称中的重复值。或特定的索引或密钥。
$array = Array(
Array(
'name' => 'duplicate',
'slug' => 'test'
),
Array(
'name' => 'Foo',
'slug' => 'Bar'
),
Array(
'name' => 'duplicate',
'slug' => 'Bar'
),
Array(
'name' => 'test',
'slug' => 'Foo'
),
);
预期输出应为:
$array = Array(
Array(
'name' => 'duplicate',
'slug' => 'test'
),
Array(
'name' => 'Foo',
'slug' => 'Bar'
),
Array(
'name' => 'test',
'slug' => 'Foo'
),
);
答案 0 :(得分:1)
这样做:
$temp = array();
foreach ($array as $key => $arr) {
if(in_array($arr['name'], $temp)) continue;
$temp[] = $arr['name'];
$res[] = $arr;
}
print_r($res);
答案 1 :(得分:0)
$targetArray = [];
foreach( $array as $element ) {
if( false == array_key_exists( $element['name'], $targetArray) ) {
$targetArray[$element['name']] = $element;
}
}
$targetArray
将获得所需的结果,但'name'
中的$array
属性名称也会有一个额外的密钥。如果您对额外的密钥没问题,则此代码更易于阅读。