2017-09-15 42 views
0

有沒有辦法確定一個變量是否等於數組中的任何變量的值? 例如,確定變量是否等於數組中的任何變量php

IF ($a == $b) { 
echo "there is a match"; 
} 
//where $b is an array of values 
//and $a is just a single value 
+0

你有沒有試過只循環數組?沒有內置的,這將是直接的方式。 – Carcigenicate

+0

所以基本上你想檢查一個數組是否包含某個值? – Debabrata

+0

數組不包含變量,它們包含值。 – Barmar

回答

6

Sure there is.

if (in_array($a, $b)) { 
    echo "there is a match"; 
} 

如果類型的可變$a需要要匹配$b中的值的類型,您應該知道Ë嚴格的比較,以確保你沒有得到誤報的東西像

in_array(0, ['abc', '', 42]) // returns true because 0 == '' 

做到這一點的in_array第三個參數設置爲true

in_array(0, ['abc', '', 42], true) // returns false because 0 !== '' 
+0

快得多......謝謝! –

1

可以檢查使用in_array function陣列中存在的值:

in_array('a', array('a', 'b')); // true 
in_array('a', array('b', 'c')); // false 
1

嘗試這種情況:

$a = '10'; 
$b = ['1', 24, '10', '20']; 
if (in_array($a, $b)){ 
    print('find'); 
} 
相關問題