Php 如果别人比错了,那就奇怪了
如上面的代码所示,只有当Php 如果别人比错了,那就奇怪了,php,Php,如上面的代码所示,只有当$comet的值与$string不匹配时,才会执行大括号内的任何内容,从而退出 但它们都具有相同的值,即“notificationComet” 我测试了这两个变量的gettype(),它们以类型返回字符串。 我用了=而不是==,没有区别。 如果我将条件更改为:if($comet===$string)内部的块不会执行 我只是不明白为什么if($comet!==$string)的条件是true,因为它们都具有相同的值 请向我解释我犯了什么错误?试着用下面的句子 $comet
$comet
的值与$string
不匹配时,才会执行大括号内的任何内容,从而退出
但它们都具有相同的值,即“notificationComet”
我测试了这两个变量的gettype(),它们以类型返回字符串。我用了
=代码>而不是==代码>,没有区别。
如果我将条件更改为:if($comet===$string)
内部的块不会执行
我只是不明白为什么if($comet!==$string)
的条件是true
,因为它们都具有相同的值
请向我解释我犯了什么错误?试着用下面的句子
$comet = $this->model->getActiveComet($userId);
$string = 'notificationComet';
if ($comet !== $string) {
echo $comet;
echo $string;
echo "yes";exit;
}
我相信这会管用。尝试使用以下方法
$comet = $this->model->getActiveComet($userId);
$string = 'notificationComet';
if ($comet !== $string) {
echo $comet;
echo $string;
echo "yes";exit;
}
我相信那会有用。您是否在$comet
和$string
上都尝试了var\u转储
?您是否可以在$comet
中显示值?当然,这可能是导致错误的原因。为什么不使用strcmp
可以同时显示变量的var\u转储-$comet和$string?您是否尝试了var\u转储在$comet
和$string
上,你能在$comet
中显示值吗?当然,这可能是导致错误的原因。为什么不使用strcmp
你能同时显示变量-comet和$string的变量转储吗?是的……有什么问题,为什么必须使用strpos?strpos
实际上是一种子字符串类型关于功能,我不推荐它。但无论如何,这取决于你想用什么样的方式。@KEREN。strpos用于查找子字符串在字符串中第一次出现的位置。。您可以按建议将其用于字符串的任何实例。@KEREN。。。就你的情况而言,我不知道为什么会这样。。但我确信模型返回的值类型有问题。。。然而,STRPOS将确保无论“变量包含的内容”是什么,它都将作为字符串处理。@KEREN。。。如果处理的变量不确定是否返回字符串类型,则必须使用STRPOS。。因为即使变量是数字,它也会将值视为字符串。是的,可以工作…有什么问题,为什么必须使用strps?strps
实际上是一种子字符串类型的函数,我不推荐使用它。但无论如何,这取决于你想用什么样的方式。@KEREN。strpos用于查找子字符串在字符串中第一次出现的位置。。您可以按建议将其用于字符串的任何实例。@KEREN。。。就你的情况而言,我不知道为什么会这样。。但我确信模型返回的值类型有问题。。。然而,STRPOS将确保无论“变量包含的内容”是什么,它都将作为字符串处理。@KEREN。。。如果处理的变量不确定是否返回字符串类型,则必须使用STRPOS。。因为即使变量是数字,它也会将值视为字符串。