如何删除多维数组中的重复项? 我尝试了在 stackoverflow 上找到的几个答案,但它们在多数组中都不适合我。我找到的最接近的答案是:
How to delete duplicates in an array? 但这仅适用于一维数组。
例如我有这个:
$array = array(
[0] = array(
[color] => red,
[type] => color,
[name] => color1
)
[1] = array(
[color] => gray,
[type] => color,
[name] => color2
)
[2] = array(
[color] => blue,
[type] => color,
[name] => color3
)
[3] = array(
[color] => green,
[type] => color,
[name] => color4
)
[4] = array(
[color] => black,
[type] => color,
[name] => color5
)
[3] = array(
[color] => gray,
[type] => color,
[name] => color2
)
[4] = array(
[color] => blue,
[type] => color,
[name] => color3
)
)
我怎样才能让它变成这样:?
$array = array(
[0] = array(
[color] => red,
[type] => color,
[name] => color1
)
[1] = array(
[color] => gray,
[type] => color,
[name] => color2
)
[2] = array(
[color] => blue,
[type] => color,
[name] => color3
)
[3] = array(
[color] => green,
[type] => color,
[name] => color4
)
[4] = array(
[color] => black,
[type] => color,
[name] => color5
)
)
最佳答案
嗯,这是一个非常糟糕的答案,但看来您想要唯一的数据,这里有一些非常糟糕的代码来解决这个问题。
$array2 = array();
foreach ($array as $val)
{
@$array2[$val['color']]++;
}
foreach ($array as $key=>$val)
{
if ($array2[$val['color']] >1)
unset($array[$key]);
}
@
的作用是防止 php 抛出错误。或者您可以编写更多代码来预定义 $array2
但这确实有效。
关于php - 如何从多维数组中删除重复项和原始数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39198616/