php - How to remove duplicates and the original one from a multidimensional array? -
how can delete duplicates in multidimensional array? tried several answers found on stackoverflow none of them works me in multi array. closest answer found this:
how delete duplicates in array? worked on single-dimensional array.
for example have this:
$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 ) ) how can let become this:?
$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 ) )
well, poor answer appears want unique data, here's bad code solve this.
$array2 = array(); foreach ($array $val) { @$array2[$val['color']]++; } foreach ($array $key=>$val) { if ($array2[$val['color']] >1) unset($array[$key]); } the @ there prevent php throwing error. or can write more code predefine $array2 work.
Comments
Post a Comment