相关疑难解决方法(0)

PHP等式(== double equals)和identity(=== triple equals)比较运算符有何不同?

==和之间有什么区别===

  • 松散的==比较究竟是如何运作的?
  • 严格的===比较究竟是如何运作的?

什么是有用的例子?

php comparison equality operators identity-operator

483
推荐指数
9
解决办法
29万
查看次数

PHP表示两个不同的字符串是相同的

可能重复:
php == vs === operator
等式(== double equals)和identity(=== triple equals)比较运算符有何不同?

为什么以下语句会返回true

"608E-4234" == "272E-3063"
Run Code Online (Sandbox Code Playgroud)

我也试过用字符串周围的单引号.我可以false通过使用===运算符而不是使用运算符来获得它的唯一方法==

我的猜测是PHP将它视为某种方程,但它似乎有点奇怪.

任何人都可以详细说明吗?

php string

103
推荐指数
6
解决办法
5425
查看次数

为什么1234 =='1234 test'评估为真?

可能重复:
php == vs === operator

对我确定的人来说,这是一个简单的答案.有人可以解释为什么这个表达式评估为真?

(1234 == '1234 test')
Run Code Online (Sandbox Code Playgroud)

php equality equals

80
推荐指数
4
解决办法
5333
查看次数

php中==和===有什么区别?

可能重复:
3个不同的等于

php中==和===之间有什么区别吗?当我在条件语句中使用它们时,两者似乎都适合我.我是用PHP编程的新手.请考虑一下并用简单的话回答.

php

12
推荐指数
2
解决办法
4万
查看次数

PHP中is_null"== NULL"和"=== NULL"之间的区别

可能重复:
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 null identity equality

11
推荐指数
1
解决办法
4650
查看次数

使用返回true或false的函数的PHP最佳实践是什么?

在玩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 boolean function typing

5
推荐指数
1
解决办法
1897
查看次数

什么时候在PHP中使用===,!== over ==,!=

可能重复:
php == vs === operator

我明白之间的差别===,!==对比==,!=在PHP但我总是发现自己偏袒===!==,但我没有真正原因.在PHP.net上的文档中,经常有"警告"说你应该===用来检查一些内置函数的返回值.所以我的问题是为什么我应该使用一组运算符而不是另一组呢?

非常感谢 :).

php

3
推荐指数
1
解决办法
204
查看次数

php中的==和=== WRT数组之间的区别?

我正在阅读关于php的内容,它说,

==是平等使得$a == $btrue如果$a$b具有相同的元件.

===是身份使得$a === $btrue如果$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 arrays identity equality

3
推荐指数
2
解决办法
179
查看次数

2
推荐指数
1
解决办法
281
查看次数

可以===和!=可互换使用?

关系运算符===(用于相同的)是否可以与!=运算符互换使用"并获得相同的结果?或者当我执行更大的程序时,我最终会遇到问题吗?

我知道我会在下面的例子中得到相同的结果,这总是如此吗?

//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)

php

2
推荐指数
1
解决办法
87
查看次数

PHP认为P == 0

这绝对是疯狂的.我今天正在测试一个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 ...

php conditional types

2
推荐指数
1
解决办法
122
查看次数

如果这个和那个或那个PHP,怎么样?

我需要帮助弄清楚如何使这个IF工作.它基本上检查IF第一个条件,并且(第二个或第三个条件)中的任何一个都为真.

IF ( ($a=1) && ($b=2 || $c=3)  ) {
   echo "match found";
};
Run Code Online (Sandbox Code Playgroud)

php if-statement

1
推荐指数
1
解决办法
1977
查看次数