PHP to remove duplicated values and exactly UNIQUE from multidimensional array -
i found many question , answer this, not match need. think it's similar/same this question don't know why not working case. please try before judging duplicates, thank you.
array source
$avar = array( 0 => array(1,2,3,4,5,6,7,8,9), 1 => array(10,11,12,13,14,15,16,17,7,8,9,10), 23 => array(21,22,23,4,5,6,7,11,12,13,14,15,21));
desired result
$avar = array( 0 => array(1,2,3,4,5,6,7,8,9), 1 => array(10,11,12,13,14,15,16,17), 23 => array(21,22,23));
php script
<?php function super_unique($array) { $result = array_map("unserialize", array_unique(array_map("serialize", $array))); foreach ($result $key => $value) { if ( is_array($value) ) { $result[$key] = super_unique($value); } } return $result; } $result = super_unique($avar); echo "<pre>"; print_r($result); ?>
similar question answer not solve case:
- how remove duplicate values multi-dimensional array in php
- php remove duplicate values multidimensional array
thank all
$seen = array(); foreach($avar &$entry){ $entry = array_unique(array_diff($entry,$seen)); $seen = array_merge($entry,$seen); } unset($entry); var_dump($avar);
Comments
Post a Comment