problem mit array

cent

Mitglied
hallo,
ich habe ein problem mit einem array:

$array_1 = array(1, 2, 4, 6, 8, 9, 12);
$array_2 = array(1, 2, 5, 14, 8, 9,);
$array_3 = array(3, 2, 5, 14, 12,);

Nun möchte ich nun alle Elemente aus allen Arrays haben, allerdings sollen die doppelten gelöscht werden.

Meine Idee war dann eigentlich:

$array_neu = array_merge($array_1 , $array_2, $array_3);
$array_neu = array_unique($array_neu);

wenn ich das nun mit implode ausgebe ist auch alles richtig:
echo implode ("-", $array_neu);

ich brauche aber die zahlen nun für eine datenbank abfrage und wollte sie mit:

for ($tt=0; $tt<count($array_neu); $tt++)
{
.
echo $array_neu[$tt];
.

//db-abfrage

}

ausgeben. allerdings funktioniert es dann nicht mehr. er gibt mir nicht mehr alles zahlen aus sondern leerzeichen.

gibt es eine lösung dafür? anscheinden kommen bei unique() leerzeichen mit in den array so dass es mit dem schleifen-auslesen nicht mehr klappt.

wäre super wenn jemand eine lösung dafür wüsste.
danke !!!
 
Zuletzt bearbeitet:
Hoffentlich hab ich da jetzt alles verstanden. Ich hab hier vielleicht was:

array_intersect
(PHP 4 >= 4.0.1)

array_intersect -- Ermittelt die Schnittmenge von Arrays
Beschreibung

array array_intersect (array array1, array array2 [, array ...])


array_intersect() gibt ein Array mit allen Werten von array1, die auch in allen anderen Argumenten enthalten sind, zurück. Beachten Sie, dass die Schlüssel erhalten bleiben.

Beispiel 1. array_intersect() Beispiel

PHP:
<?

$array1 = array ("a" => "grün", "rot", "blau");
$array2 = array ("b" => "grün", "gelb", "rot");
$result = array_intersect ($array1, $array2);
      
?>

Dies speichert array ("a" => "grün", "rot"); in $result
 
Zuletzt bearbeitet:
danke :)
ich habe nun eine lösung dafür von jeamden bekommen:



$array_neu = array_values(array_unique(array_merge($array_1, $array_2, $array_3)));

damit funktioniert dann die schleife.
ich hatte mich anfangs in meinem posting verschrieben und meinte nicht die schnittemenge sondern alle datensätze -> nur die doppelten löschen.

trotzdem danke für den tip mit der schnittmenge. kannte ich noch nicht :)
 
Zurück