$all = array
(
0 => 307,
1 => 157,
2 => 234,
3 => 200,
4 => 322,
5 => 324
);
$search_this = array
(
0 => 200,
1 => 234
);
Ich möchte herausfinden, ob $ all alle $ search_this-Werte enthält und true oder false zurückgeben. Irgendeine Idee bitte?
Antworten:
Schauen Sie sich array_intersect () an .
quelle
count()
Anrufe weglassen können ?array_intersect()
? Ich meine ,['a', 'b'] != ['b', 'a']
.==
WAHR, wenn $ a und $ b die gleichen Schlüssel / Wert-Paare haben." , also spielt die Reihenfolge keine Rolle (verwenden Sie===
dafür)Die vorherigen Antworten machen alle mehr Arbeit als nötig. Verwenden Sie einfach array_diff . Dies ist der einfachste Weg, dies zu tun:
Das ist alles was du tun musst.
quelle
array_intersect
.Mit array_diff etwas kürzer
quelle
Ich denke, Sie suchen nach der Schnittfunktion
array_intersect()
Gibt ein Array zurück, das alle Werte von array1 enthält, die in allen Argumenten vorhanden sind. Beachten Sie, dass die Schlüssel erhalten bleiben.http://www.php.net/manual/en/function.array-intersect.php
quelle
Wie wäre es damit:
quelle