[英]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.