2013-02-17 3 views
0

Я хочу проверить, существует ли несколько значений (EX: 5, 110) в возврате массива true. (Без использования цикла)Проверяет, существует ли в массиве несколько значений

я не использую из цикла, потому что я хочу загрузить страницу, если возвращение было правдой

AS:

if(in_array('5' OR '110', array('5,4,2,66,12,110'))){ 
    echo 'true';//Load page 
}else{ 
    echo 'false'; 
} 

Как это?

ответ

1
$a=array(5,4,2,66,12,110); 
if(in_array('5',$a) OR in_array('10',$a)){ 
    echo 'true';//Load page 
}else{ 
    echo 'false'; 
} 
6
if(array_intersect(array('15', '110'), explode(',', '5,4,2,66,12,110'))){ 
    echo 'true';//Load a page 
}else{ 
    echo 'false'; 
} 
+0

У меня есть ошибка с новым массивом, см: HTTP: // codepad.org/eHTkMnrH –

+0

@TaylorGomez Это работает: http://codepad.org/e4uUgGw8 Используйте 'var_export' вместо' var_dump', если вы хотите получить строковое представление массива. – meze

+0

Я получаю выходной массив этого php-кода: http://codepad.org/OucFsUHH и объяснять его здесь: http://stackoverflow.com/questions/14920117/combine-array-php/ ???? –

1

Если вы ищете быстрый способ использования этого:

if (preg_match ('/(^|,)(5|110)(,|$)/','5,4,2,66,12,110')) 
    return true; 
else 
    return false; 

EDIT

if (preg_match ("/(^|,)(" . implode ('|', $needles) . ")(,|$)/", implode (',', $haystack))) 
    return true; 
else 
    return false; 
+0

массив, а не строка – 2013-02-17 18:53:22

+0

вы можете использовать implode для объединения массива в строку с запятыми. – Boynux

+0

уверен, но это не в вашем 'ответе' – 2013-02-17 19:29:36

Смежные вопросы