就像标题中一样,函数前面的感叹号在PHP中到底意味着什么?
例如以下语句:
if (!stripos($haystack, $needle)) {}
与此相同:
if (stripos($haystack, $needle) === FALSE) {}
或者这个:
if (stripos($haystack, $needle) == FALSE) {}
如有任何澄清,将不胜感激
函数前面的!
与…相同
if (stripos($haystack, $needle) == FALSE) {}
这是一样的,因为它是一个==
比较,不检查类型。
它被称为否定一元运算符。它翻转值的布尔值(如果需要,强制为布尔值)。
例如。。。
! 0; // True
! 1 ; // False
! ''; // True
! true; // False
!! 0 // False
!!
技巧在没有(bool)
强制转换的语言中非常方便。通过翻转一个值两次,可以获得其原始值的布尔版本。
!将进行价值比较,所以我认为这与第二次比较相同。因为将捕获false、0和null作为false,并且它们与您看到的类型不同。"可能是个例外,因为我总是使用trim()="来比较字符串。我不知道。