Mailinglisten-Archive |
Hi! Versuch's mal damit: <?php $array = array ( 11 => array (0 => null, 1 => null, 2 => null), 12 => array (0 => null, 1 => null, 2 => null), 13 => array (0 => 1, 1 => 1, 2 => null), 14 => array (0 => null, 1 => null, 2 => 1) ); $hashes = array (); foreach ($array as $key => $subarray) { if (!is_array ($subarray)) continue; $val = ""; foreach ($subarray as $value) { $val .= $value; } $val = md5 ($val); if (in_array ($val, $hashes)) { unset ($array[$key]); } else { $hashes[] = $val; } } $array = array_values ($array); print_r ($array); ?> Je nachdem welche Daten gespeichert werden, kannst du das md5 auch weglassen (Rechenleistung) oder einen anderen Alogrithmus verwenden. Mein Gedanke dabei war nur, dass wenn du z.B. Texte oder ähnliches im Array speicherst, so ist es schneller und speicherschonender einen 32 Zeichen langen Hashcode zu vergleichen als z.B. einen 200 Zeichen langen Text. Beinhaltet das Array jedoch lediglich Zahlen, so kannst du das md5 natürlich weglassen. Ich bekomme folgende Ausgabe: Array ( [0] => Array ( [0] => [1] => [2] => ) [1] => Array ( [0] => 1 [1] => 1 [2] => ) [2] => Array ( [0] => [1] => [2] => 1 ) ) MfG Jay
php::bar PHP Wiki - Listenarchive