n1t*_*1te 4 php boolean function
就像在标题中一样,函数之前的感叹号在PHP中真正意味着什么?
例如,以下语句:
if (!stripos($haystack, $needle)) {}
Run Code Online (Sandbox Code Playgroud)
与此相同:
if (stripos($haystack, $needle) === FALSE) {}
或这个:
if (stripos($haystack, $needle) == FALSE) {}
任何澄清将不胜感激
ale*_*lex 17
在!之前的功能是一样的...
if (stripos($haystack, $needle) == FALSE) {}
Run Code Online (Sandbox Code Playgroud)
它是相同的,因为它是一个==不检查类型的比较.
它被称为否定一元运算符.它会翻转一个值的布尔值(强制转换为布尔值,如果需要).
例如...
! 0; // True
! 1 ; // False
! ''; // True
! true; // False
!! 0 // False
Run Code Online (Sandbox Code Playgroud)
这个!!技巧在没有(bool)演员表的语言中很方便.通过翻转两次值,您将获得其原始值的布尔版本.