0
今天,在我閱讀文檔時,我看到某個地方看起來像這樣in_array('value1' || 'value2', $my_array)
,所以我嘗試了科學。它的工作原理!爲什麼?這究竟是如何工作的?in_array「或」參數中的操作符
今天,在我閱讀文檔時,我看到某個地方看起來像這樣in_array('value1' || 'value2', $my_array)
,所以我嘗試了科學。它的工作原理!爲什麼?這究竟是如何工作的?in_array「或」參數中的操作符
$array = array(2, 3, 4);
var_dump('value1' || 'value2');
var_dump(in_array('value1' || 'value2', $array));
它並不那麼不尋常。
'value1' || 'value2'
是true
由弱相等。
array(2, 3, 4)
包含的值也是true
弱等式。
因此,這證明in_array
執行弱比較。謝謝,我必須記住這一點,因爲我一直都在使用該功能。
在Javascript中'value1' || 'value2'
將返回value1
,因爲在這種情況下它是一個「空合併運算符」。
的PHP相當於是'value1' ?: 'value2'
比較的條件對一個布爾值,或'value1' ?? 'value2'
爲空在PHP 7.我會假設代碼合併是一個誤解的語言,因爲它看起來並不實用,甚至意義。
so''value1'|| 'value2'將始終爲真,因爲字符串在布爾值中被評估爲true? – Andrew
因爲他們是不斷的字符串是的。如果它們都是空字符串,它會返回'false'。 – Flosculus
明白了。謝謝! – Andrew