[英]Strange usage of in_array
我偶然發現了以下代碼:
in_array(($_GET['some_value']??-1),[])
而且我在理解它時遇到了一些麻煩。 我的問題如下:
??
運算符在這種情況下是什么意思? 我的經驗告訴我,這類似於空合並,但是我不確定。 haystack
是一個空數組, in_array
做什么? 同樣,似乎它總是返回FALSE
但是我是PHP新手,所以我想對此進行確認。 該表達式可以替換為
false
以空數組作為第二個參數調用in_array
始終將返回false
,因此$_GET['some_value']
存在,它是否存在,是否最終被負數替換都$_GET['some_value']
由空合並運算符。
您無法在空數組中找到任何內容。 這可能是錯誤或者是混淆的嘗試。
實際上,雙重問號是null合並運算符,這是PHP 7中的新增功能: http : //php.net/manual/de/migration70.new-features.php
如果haystack是一個空數組,則in_array()將返回false,實際上,只有在haystack中找到該指針時,它才會返回TRUE。 在此處閱讀文檔:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.