Werte zweier Arrays vergleichen

loddarmattheus

Erfahrenes Mitglied
Hallo Leute, ich mal wieder...
hab mich schon (erfolglos) durch das php.net manual durchgekämpft, aber keine Lösung für mein Problem gefunden.

Ich habe zwei Arrays. Im zweiten Array soll der Wert gefunden und angezeigt werden, welches im ersten Array ebenfalls als letztes vorkommt (natürlich nur dann, wenn es im Array1 auch vorhanden ist. array_intersect gibt mir ja nur ein true oder false, aber das reicht mir nicht.
PHP:
$array1 = array("Ba2","Ba4","Ba6","Ba8","Bb1","Bb3","Bb5","Bb7","Bc2");
$array2 = array("a2","c4","d6","Ba8","f5","e4","e5","Ba1","Bb3","e5","b7","Bc8");

In diesem Beispiel soll er mir z.B. sagen, dass im array2 die letzte Übereinstimmung Bb3 war (Ba8 war ja auch noch ein Treffer, aber halt viel früher). Ich hoffe, ich konnte es einigermaßen anschaulich beschreiben.

Gruss Loddar
 
Ich habe zwei Arrays. Im zweiten Array soll der Wert gefunden und angezeigt werden, welches im ersten Array ebenfalls als letztes vorkommt (natürlich nur dann, wenn es im Array1 auch vorhanden ist. array_intersect gibt mir ja nur ein true oder false, aber das reicht mir nicht.
Dann ist dein PHP kaputt. Bei mir gibt [phpf]array_intersect[/phpf] die Schnittmenge der beiden Arrays zurück (als Array). Wenn du von dieser das letzte Element nimmst, solltest du den gewünschten Wert erhalten (sofern ich dich richtig verstanden habe); also z.B. so:
PHP:
echo array_pop(array_intersect($array1, $array2));

Grüße,
Matthias
 
...ich muss leider nochmal nachhaken, weil sich ein weiteres Problem ergeben hat :rolleyes::rolleyes:

Denn jetzt hab ich einmal ein einfaches Array und ein mehrdimensionales Array.
PHP:
$array1 = Array ( [6] => 63 );
$array2 = Array ( [1] => Array ( [zielfeld] => 54 [figur] => B ) [2] => Array ( [zielfeld] => 63 [figur] => S ) [3] => Array ( [zielfeld] => 33 [figur] => S ) [4] => Array ( [zielfeld] => 44 [figur] => B ) [5] => Array ( [zielfeld] => 44 [figur] => S ) )

Wenn ich jetzt versuche, die Schnittmenge der beiden Arrays und daraus den letzten Wert mittels
PHP:
$erg = array_pop(array_intersect($array1, $array2['zielfeld']));
herauszufiltern, erhalte ich eine Fehlermeldung a la

array_intersect() [function.array-intersect]: Argument #2 is not an array

Eigentlich ist es das Ziel, dass er mir als Ergebnis liefert: [2] => Array ( [zielfeld] => 63 [figur] => S weil sich hier als letztes Zielfeld die 63 aus dem Array1 wiederfindet.

Bin ich vielleicht auf dem völlig falschen Dampfer?

Gruss LoddarM
 
Zuletzt bearbeitet:
Zurück