$all = array
(
0 => 307,
1 => 157,
2 => 234,
3 => 200,
4 => 322,
5 => 324
);
$search_this = array
(
0 => 200,
1 => 234
);
Chciałbym się dowiedzieć, czy $ all zawiera wszystkie wartości $ search_this i zwraca prawdę lub fałsz. jakikolwiek pomysł?
Odpowiedzi:
Spójrz na array_intersect () .
źródło
count()
połączenia?array_intersect()
? To znaczy,['a', 'b'] != ['b', 'a']
.==
PRAWDA, jeśli $ a i $ b mają te same pary klucz / wartość”. , więc kolejność nawet nie ma znaczenia (użyj===
do tego)Wszystkie poprzednie odpowiedzi wykonują więcej pracy, niż muszą. Po prostu użyj array_diff . Oto najprostszy sposób:
To wszystko, co musisz zrobić.
źródło
array_intersect
.Nieco krótszy z array_diff
źródło
Myślę, że szukasz funkcji przecięcia
array_intersect()
zwraca tablicę zawierającą wszystkie wartości tablica1, które są obecne we wszystkich argumentach. Pamiętaj, że klucze są zachowane.http://www.php.net/manual/en/function.array-intersect.php
źródło
Co powiesz na to:
źródło