Php 为什么此代码返回“quot;真的;?
我在以下代码中遇到了一些奇怪的情况:Php 为什么此代码返回“quot;真的;?,php,string,validation,Php,String,Validation,我在以下代码中遇到了一些奇怪的情况: $string = '///'; var_dump(!stripos($string, '//')); 此代码部分返回true。现在看下一个代码部分: $string = 'a//'; var_dump(!stripos($string, '//')); 此代码部分返回false。 在我看来,第一个示例也应该返回false,但事实并非如此。我做错了什么?stripos返回字符串的第一个匹配位置 在第一种情况下,它是起始字符的第一个字符(位置0),在第二
$string = '///';
var_dump(!stripos($string, '//'));
此代码部分返回true
。现在看下一个代码部分:
$string = 'a//';
var_dump(!stripos($string, '//'));
此代码部分返回false
。
在我看来,第一个示例也应该返回
false
,但事实并非如此。我做错了什么?stripos
返回字符串的第一个匹配位置
在第一种情况下,它是起始字符的第一个字符(位置0),在第二种情况下,它是第二个字符(位置1)
代码>转换为布尔值并将其反转
0
为false,因此!0
为真
1
是真的,所以!1
为false。执行变量转储(!stripos($string,'/')你会看到它返回0和!0
是真的。@MrTux,是的,你是对的:)我完全忘记了,谢谢)