我有一个像:这样的数组可能重复:
PHP remove duplicate values from multidimensional array
Array
(
[prom] => Array
(
[cab] => Array
(
[0] => Array
(
[code] => 01
[price1] => 1000
[price2] => 2000
[available] => 2
[max] => 2
[gca] => 2
)
[1] => Array
(
[code] => 04
[price1] => 870
[price2] => 2500
[available] => 3
[max] => 4
[gca] => 10
)
[2] => Array
(
[code] => 01
[price1] => 1000
[price2] => 2000
[available] => 2
[max] => 2
[gca] => 2
)
[3] => Array
(
[code] => 05
[price1] => 346
[price2] => 1022
[available] => 10
[max] => 2
[gca] => 20
)
)
[cab1] => Array........
)
[prom1] = Array....
)
我要做的是删除每个[cab *]数组中的重复项。
所以有类似的东西:
Array
(
[prom] => Array
(
[cab] => Array
(
[0] => Array
(
[code] => 01
[price1] => 1000
[price2] => 2000
[available] => 2
[max] => 2
[gca] => 2
)
[1] => Array
(
[code] => 04
[price1] => 870
[price2] => 2500
[available] => 3
[max] => 4
[gca] => 10
)
[2] => Array
(
[code] => 05
[price1] => 346
[price2] => 1022
[available] => 10
[max] => 2
[gca] => 20
)
)
[cab1] => Array........
)
[prom1] = Array....
)
知道有array_unique
与array_map
结合以删除重复项..但我知道它仅适用于2D数组..我该怎么办?有人可以帮我吗?感谢!!!
答案 0 :(得分:1)
试一试: -
function super_unique($array)
{
$result = array_map("unserialize", array_unique(array_map("serialize", $array)));
foreach ($result as $key => $value)
{
if ( is_array($value) )
{
$result[$key] = super_unique($value);
}
}
return $result;
}
$input = super_unique($myarray);
echo "<pre>";
print_r($input);