2013-12-01 3 views
0
$a = 'red'; 
$b = 'blue'; 
$colors = ['red', 'green', 'blue', 'black']; 

Я пытаюсь проверить, если как$a и $b присутствуют в $colors Если да, вернуть true еще вернуться falseНайти несколько массив в одном массиве

я мог бы, очевидно, сделать

if(in_array($a, $colors) && in_array($b, $colors)){ 
    //true 
} 

Но я надеюсь на функцию массива, которая может работать как во время вызова, так и любой метод, более простой, чем t шапка. Я пробовал с array_intersect() безрезультатно.

+0

No. * Подтвердить существование нескольких значений в массиве * – ANW

+0

@undefined Вы не правы. Я проверяю эту ссылку, даже не спрашивая об этом. Это два совершенно разных вопроса. – ANW

+0

В чем проблема с 'array_intersect()'? – bagonyi

ответ

3

array_intersect() должен был работать, но вы также можете попробовать array_diff(). Если результатом является пустой массив, то каждый элемент первого массива был найден во втором массиве.

<?php 
if(count(array_diff(array($a, $b), $colors)) == 0) 
{ 
// Both found 
} 
?> 
1
$c = array($a, $b); 
if (count(array_intersect($c, $colors)) === count($c)) { 
    // ... 
} 
Смежные вопросы