==和之间有什么区别===?
==比较究竟是如何运作的?===比较究竟是如何运作的?什么是有用的例子?
可能重复:
php == vs === operator
等式(== double equals)和identity(=== triple equals)比较运算符有何不同?
为什么以下语句会返回true?
"608E-4234" == "272E-3063"
Run Code Online (Sandbox Code Playgroud)
我也试过用字符串周围的单引号.我可以false通过使用===运算符而不是使用运算符来获得它的唯一方法==
我的猜测是PHP将它视为某种方程,但它似乎有点奇怪.
任何人都可以详细说明吗?
可能重复:
php == vs === operator
对我确定的人来说,这是一个简单的答案.有人可以解释为什么这个表达式评估为真?
(1234 == '1234 test')
Run Code Online (Sandbox Code Playgroud) 可能重复:
3个不同的等于
php中==和===之间有什么区别吗?当我在条件语句中使用它们时,两者似乎都适合我.我是用PHP编程的新手.请考虑一下并用简单的话回答.
可能重复:
php == vs === operator
我有以下代码片段,对我来说没有意义,为什么会以3种不同的方式评估NULL.将变量$uploaded_filenames_array视为UNKNOWN - 我们不知道它仍然是数组还是NULL.这就是我们要检查的内容.
//-----------------------------------------------
if (is_null($uploaded_filenames_array)){
echo "is_null";
}
else{
echo "is_NOT_null";
}
//-----------------------------------------------
if ($uploaded_filenames_array == NULL){
echo "NULL stuff";
}
else{
echo "not NULL stuff";
}
//-----------------------------------------------
if ($uploaded_filenames_array === NULL){
echo "NULL identity";
}
else{
echo "not NULL identity";
}
//-----------------------------------------------
Run Code Online (Sandbox Code Playgroud)
我收到以下回复:
is_NOT_null
NULL stuff
not NULL identity
Run Code Online (Sandbox Code Playgroud)
有人可以帮助理解这三种检查NULL的方法之间的程序差异是什么?
在玩PHP之后,我发现true返回1,false返回null.
echo (5 == 5) // displays 1
echo (5 == 4) // displays nothing
Run Code Online (Sandbox Code Playgroud)
在编写返回true或false的函数时,使用它们的最佳实践是什么?
例如,
function IsValidInput($input) {
if ($input...) {
return true;
}
else {
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
这是使用该功能的最佳方式吗?
if (IsValidInput($input)) {
...
}
Run Code Online (Sandbox Code Playgroud)
你会怎么写相反的功能?
IsBadInput($input) {
return ! IsValidInput($input);
}
Run Code Online (Sandbox Code Playgroud)
你什么时候使用===运营商?
可能重复:
php == vs === operator
我明白之间的差别===,!==对比==,!=在PHP但我总是发现自己偏袒===和!==,但我没有真正原因.在PHP.net上的文档中,经常有"警告"说你应该===用来检查一些内置函数的返回值.所以我的问题是为什么我应该使用一组运算符而不是另一组呢?
非常感谢 :).
我正在阅读关于php的内容,它说,
==是平等使得$a == $b是true如果$a与$b具有相同的元件.
===是身份使得$a === $b是true如果$a与$b具有相同的元件,用相同的类型,以相同的顺序.
所以,我想我会尝试看看自己的差异并用这个小脚本写下来:
$a = array(1, 2, 3);
$b = array(2, 3, 1);
if ($a==$b) {echo "yeehaw!";} else {echo "nope";}
if ($a===$b) {echo "yup";} else {echo "nope";}
Run Code Online (Sandbox Code Playgroud)
我的想法是,两个数组相等并不需要相同的顺序.然而,当我跑这个时,我得到了"不"和"不".
有什么不同?
可能重复:
php == vs === operator
PHP中的!==和!=有什么区别?
关系运算符===(用于相同的)是否可以与!=运算符互换使用"并获得相同的结果?或者当我执行更大的程序时,我最终会遇到问题吗?
我知道我会在下面的例子中得到相同的结果,这总是如此吗?
//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) 这绝对是疯狂的.我今天正在测试一个post变量,它应该总是评估为一个字符.示例代码是......
if($_POST['status'] == '' || $_POST['status'] == 0){ die('oh no!'); }
Run Code Online (Sandbox Code Playgroud)
如果我传递状态P,它正在执行die语句.然后我用以下代码创建了一个PHP文件......
echo 'P1: '.intval($_POST['status']=='').'<br />';
echo 'P2: '.intval($_POST['status']==0).'<br />';
echo 'P3: '.intval('P'==0).'<br />';
Run Code Online (Sandbox Code Playgroud)
你猜怎么着?P2和P3都评估为TRUE.intval只是在P1上显示0而不是什么都没有.
这是PHP的已知错误吗?这只是在我正在运行的版本上被打破的东西吗?坦率地说,我完全不知道为什么会这样做.它使用三等于正确评估,但不是双倍.P在我的书中肯定不等于0 ...
我需要帮助弄清楚如何使这个IF工作.它基本上检查IF第一个条件,并且(第二个或第三个条件)中的任何一个都为真.
IF ( ($a=1) && ($b=2 || $c=3) ) {
echo "match found";
};
Run Code Online (Sandbox Code Playgroud) php ×12
equality ×4
identity ×2
arrays ×1
boolean ×1
comparison ×1
conditional ×1
equals ×1
function ×1
if-statement ×1
null ×1
operators ×1
string ×1
types ×1
typing ×1