簡體   English   中英

in_array的奇怪用法

[英]Strange usage of in_array

我偶然發現了以下代碼:

in_array(($_GET['some_value']??-1),[])

而且我在理解它時遇到了一些麻煩。 我的問題如下:

  1. 什么?? 運算符在這種情況下是什么意思? 我的經驗告訴我,這類似於空合並,但是我不確定。
  2. 如果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。 在此處閱讀文檔:

http://php.net/manual/de/function.in-array.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM