Php 我应该为…使用==还是===。。。如果($POST[";var_name";]=';my#u string';),则继续
我有以下代码正在工作。。但我想确保我没有误报。。。因为PHP在做布尔运算时很有趣。。。我想解释一下Php 我应该为…使用==还是===。。。如果($POST[";var_name";]=';my#u string';),则继续,php,Php,我有以下代码正在工作。。但我想确保我没有误报。。。因为PHP在做布尔运算时很有趣。。。我想解释一下 $response = $_POST["response"]; if ($response == '00' || $response == '105'){ //do sth. } 是否应将if块更改为: if ($response === '00' || $response === '105'){ //do sth. } 在php文档中,如果希望它除了检查值之外还检查类型,则只需要===
$response = $_POST["response"];
if ($response == '00' || $response == '105'){ //do sth. }
是否应将if块更改为:
if ($response === '00' || $response === '105'){ //do sth. }
在php文档中,如果希望它除了检查值之外还检查类型,则只需要===即可
$a == $b Equal TRUE if $a is equal to $b after type juggling.
$a === $b Identical TRUE if $a is equal to $b, and they are of the same type.
来源:从php文档中,您只需要===就可以检查除值之外的类型
$a == $b Equal TRUE if $a is equal to $b after type juggling.
$a === $b Identical TRUE if $a is equal to $b, and they are of the same type.
来源:当您不仅需要比较变量的值,还需要比较类型时,应该使用
=
。因此,我想说,在这种情况下,您肯定应该使用==
作为一个描述性示例,
1==true
为true,但1===true
为false。当您不仅需要对变量的值进行比较,还需要对类型进行比较时,应该使用==
。因此,我想说,在这种情况下,您肯定应该使用==
作为一个描述性示例,1==true
为true,但1===true
为false
==运算符只是检查左右值是否相同
平等。但是,===操作符(注意额外的“=”)实际上检查
查看左右值是否相等,并检查是否相等
它们是相同的变量类型(比如它们是否都是
布尔、整数等)
因此,如果还需要检查变量类型,则应使用==
。从
==运算符只是检查左右值是否相同
平等。但是,===操作符(注意额外的“=”)实际上检查
查看左右值是否相等,并检查是否相等
它们是相同的变量类型(比如它们是否都是
布尔、整数等)
因此,如果还需要检查变量类型,则应使用
==
。将其与示例可视化:
<?php
var_dump('00' == '00'); // bool(true)
var_dump('00' == '0'); // bool(true)
var_dump('00' == '000000'); // bool(true)
var_dump('105' == '105'); // bool(true)
var_dump('105' == '105.000'); // bool(true)
var_dump('105' == '0x69'); // bool(true)
var_dump('105' == '0105'); // bool(true)
var_dump('00' === '00'); // bool(true)
var_dump('00' === '0'); // bool(false)
var_dump('00' === '000000'); // bool(false)
var_dump('105' === '105'); // bool(true)
var_dump('105' === '105.000'); // bool(false)
var_dump('105' === '0x69'); // bool(false)
var_dump('105' === '0105'); // bool(false)
?>
要使用您的示例将其可视化:
<?php
var_dump('00' == '00'); // bool(true)
var_dump('00' == '0'); // bool(true)
var_dump('00' == '000000'); // bool(true)
var_dump('105' == '105'); // bool(true)
var_dump('105' == '105.000'); // bool(true)
var_dump('105' == '0x69'); // bool(true)
var_dump('105' == '0105'); // bool(true)
var_dump('00' === '00'); // bool(true)
var_dump('00' === '0'); // bool(false)
var_dump('00' === '000000'); // bool(false)
var_dump('105' === '105'); // bool(true)
var_dump('105' === '105.000'); // bool(false)
var_dump('105' === '0x69'); // bool(false)
var_dump('105' === '0105'); // bool(false)
?>
你知道=
和==
之间的区别吗?$response
的值是字符串还是整数?好问题?它应该是一个字符串…由第三方网站返回的代码..我应该使用类似于数字的东西来确保吗?我最终会使用类似这样的东西:if($response='00'| |$response=='105'){//do sth.}你知道==
和==='code>之间的区别吗?$response
的值是字符串还是整数?好问题?它应该是一个字符串…由第三方网站返回的代码..我应该使用类似is_numeric的东西来确保吗?我最终会使用类似这样的东西:if($response='00'| |$response==='105'){//do sth.},在这种情况下,你真的不会这么做。基于该链接(好链接,顺便说一句),您只需担心比较返回0
,这可能被解释为false
。在本例中,您使用的函数可能不会返回false
,您正在比较不能与0
混淆的字符串,因此您应该只使用=
。这是一个非常好的链接!对于我的瞳孔,我只需要担心三个可能的值0、00和105。所以我想我最终会使用这样的东西:if($response=='00'| |$response=='105')。用==检查0和==检查105。在这种情况下,您实际上不会这样做。基于该链接(好链接,顺便说一句),您只需担心比较返回0
,这可能被解释为false
。在本例中,您使用的函数可能不会返回false
,您正在比较不能与0
混淆的字符串,因此您应该只使用=
。这是一个非常好的链接!对于我的瞳孔,我只需要担心三个可能的值0、00和105。所以我想我最终会使用这样的东西:if($response=='00'| |$response=='105')。用==检查0和==检查105。这真的很好!谢谢除了修复这个问题,我会根据你的需要使用它来整型或浮点型。这真的很好!谢谢除了修复这个问题,我还将根据您的需要使用它进行整型或浮点运算