Hello,
ich habe zwei Arrays
Array
(
[0] => 0
[1] => 1
[2] => 2
[3] => 5
)
Array
(
[0] => 1
[1] => 5
[2] => 2
[3] => 3
[4] => 4
[5] => 6
)Ich möchte die Werte zurückbekommen, die in beiden Arrays nicht vorkommen. Das wäre also
Array
(
[0]=>0
[1]=>3
[2]=>4
)Da wäre ja eigentlich array_diff gut, aber der liefert mir nur:
Array
(
[0] => 0
)Das ist auch vollkommen so beabsichtigit von der Funktion. Lies Dir bitte die Beschreibung genau durch: http://www.php.net/manual/en/function.array-diff.php
Wenn Du die Reihenfolge der Arrays vertauschst, dann bekommst Du ein anderes Ergebnis.
Und wenn Du die beiden Ergebnisse dann addierst, dann bekommst Du das, was Du ahben willst.
## $_dein_ergebnis = array_diff($_a, $_b) + array_diff($_b, $_a);
Hier musst Du dann auch noch mergen...
Bei der reinen Addition kann es konflikte mit den Keys geben.
$_dein_ergebnis = array_merge(array_diff($_a, $_b) + array_diff($_b, $_a));
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg