==和之间有什么区别===?
==比较究竟是如何运作的?===比较究竟是如何运作的?什么是有用的例子?
php中==和===有什么区别?我不确定何时使用两者.
更新的注释:因此它显示在StackOverflow搜索中,==和===之间的差异与!=和!==之间的差异相同.
var_dump(md5('240610708') == md5('QNKCDZO'));
Run Code Online (Sandbox Code Playgroud)
输出:
bool(true)
Run Code Online (Sandbox Code Playgroud)
示例:http: //3v4l.org/2vrMi
我迷路了..如果有人可以向我解释为什么以下查询:
var_dump("0000F607"=="00000000");
正在返回:bool(false)
但以下查询:var_dump("0000E607"=="00000000");返回bool(true)
我知道 == 只比较变量(不检查变量的类型),但在这里我比较 2 个字符串..
可能重复:
比较两个变量返回false结果
<?php
if( "32 is this a bug of php " == 32)
echo "true";
else
echo "false";
?>
Run Code Online (Sandbox Code Playgroud)
输出是:
true
Run Code Online (Sandbox Code Playgroud)
你可以在http://codepad.org/hgOisqZ8看到它的输出
为什么这个条件被评估为真?
可能重复:
PHP表示两个不同的字符串是相同的
我有一个问题是在切换案例指令中理解导致这种奇怪行为的原因.
代码是这样的:
<?php
$myKey = "0E9";
switch ($myKey) {
case "0E2":
echo "The F Word";
break;
case "0E9":
echo "This is the G";
break;
default:
echo "Nothing here";
break;
}
?>
Run Code Online (Sandbox Code Playgroud)
这条指令的结果应该是G
好吧,不是这样.总是返回F字
如果我们将0E9左指令反转为开头并尝试找到值0E2
<?php
$myKey = "0E2";
switch ($myKey) {
case "0E9":
echo "The G String";
break;
case "0E2":
echo "The F Word";
break;
default:
echo "Nothing here";
break;
}
?>
Run Code Online (Sandbox Code Playgroud)
现在总是返回这是G
0E2和0E9值不被解释为文本?这些价值观是保留的?
有人可以解释这种行为吗?
关系运算符===(用于相同的)是否可以与!=运算符互换使用"并获得相同的结果?或者当我执行更大的程序时,我最终会遇到问题吗?
我知道我会在下面的例子中得到相同的结果,这总是如此吗?
//example 1
<?php
$a = 1; //integer
$b = '1'; //string
if ($a === $b) {
echo 'Values and types are same';
}
else {
echo 'Values and types are not same';
}
?>
// example 2
<?php
$a = 1; //integer
$b = '1'; //string
if ($a != $b) {
echo 'Values and types are not same';
}
else {
echo 'Values and types are same';
}
?>
Run Code Online (Sandbox Code Playgroud)