array_diff() ?
MoD
- php
Hallo SELFHTML-Forum,
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
)
Weiß jemand wo das Problem liegt
Hallo,
Ich möchte die Werte zurückbekommen, die in beiden Arrays nicht vorkommen.
Und wie soll das funktionieren? Es gibt unendlich viele Wert die in beiden Arrays nicht vorkommen ...
Das wäre also
Array
(
[0]=>0
[1]=>3
[2]=>4
)
3 und 4 kommt im zweiten Array vor - vielleicht beschreibst du erstmal was genau du eigentlich willst.
Weiß jemand wo das Problem liegt
Ja, du hast die Beschreibung der Funktion nicht richtig gelesen: array_diff() gibt alle die Elemente zurück die im ersten Parameter enthalten sind aber in keinem der weiteren.
Gruß,
Tobias
Hallo,
Ich möchte die Werte zurückbekommen, die in beiden Arrays nicht vorkommen.
Und wie soll das funktionieren? Es gibt unendlich viele Wert die in beiden Arrays nicht vorkommen ...
Das wäre also
Array
(
[0]=>0
[1]=>3
[2]=>4
)3 und 4 kommt im zweiten Array vor - vielleicht beschreibst du erstmal was genau du eigentlich willst.
Weiß jemand wo das Problem liegt
Ja, du hast die Beschreibung der Funktion nicht richtig gelesen: array_diff() gibt alle die Elemente zurück die im ersten Parameter enthalten sind aber in keinem der weiteren.
Gruß,
Tobias
Danke! Das war es ich habe bei den Arrays und schon funkt's.
Hello,
Danke! Das war es ich habe bei den Arrays und schon funkt's.
?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
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);
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
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
Hallo SELFHTML-Forum,
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
)
Also in beiden Array kommt nicht vor:
7, 8, 9, 10, ...
Sorry - CNR