2013-02-17 77 views
0

我想檢查數組中是否存在多個值(例如:5110)return是true。 (不使用循環)檢查數組中是否存在多個值

,因爲我想加載一個頁面,如果換來的是真正的

,因爲我不從循環使用:

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 – 2013-02-17 19:05:38

+0

@TaylorGomez工作原理:http://codepad.org/e4uUgGw8如果你使用'var_export'而不是'var_dump'想要獲取數組的字符串表示形式。 – meze 2013-02-17 19:24:48

+0

我得到這個PHP代碼的輸出數組:http://codepad.org/OucFsUHH並在這裏解釋它:http://stackoverflow.com/questions/14920117/combine-array-php/ ????? – 2013-02-17 20:13:49

1

如果你正在尋找一個快速的方法使用這樣的:

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

編輯

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

數組,而不是字符串 – 2013-02-17 18:53:22

+0

您可以使用implode將數組合併到帶有逗號的字符串中。 – Boynux 2013-02-17 19:28:17

+0

當然,但這不是你的'回答' – 2013-02-17 19:29:36