【问题标题】:how to work with php equalto operator(relational operator) [duplicate]如何使用 php equalto 运算符(关系运算符)[重复]
【发布时间】:2018-08-22 17:15:10
【问题描述】:

我对等于运算符(==.===)有很大的困惑,下面我提到了 php 代码,其中检查字符串“all”等于数字 0 的条件。但它返回 true 等于 ("all"==0) ,但不与其他人一起:

<?php    
    var_dump("all"==0);
    var_dump("all"=="0");
    var_dump("all"==="0");
    var_dump("all"===0);    
?>

输出:

bool(true) 
bool(false)
bool(false) 
bool(false) 

对于所有情况,答案都应该是错误的。但为什么 "all"==0 是真的。谁能解释一下?

【问题讨论】:

  • 当 0 存在时,它是数字,当 0 在 "(双引号) 中时,它定义为字符串。
  • 请在标记重复之前在问题下方。并在标记重复之前给出正确的解决方案和参考。

标签: php operators php-5.6


【解决方案1】:
=== is Identical operator which performs a 'typesafe comparison'.

这意味着只有当两个操作数具有相同的类型和相同的值时,它才会返回 true。

【讨论】:

  • 该问题已被标记为三个重复项。请阅读cmets
  • 是的,我同意,但是当我检查 double 等于 ("all" ==0) 的条件时,它应该是 false.. 而不是得到 true 作为结果。你能解释一下原因吗?这个问题可能重复,但没有人解释为什么("all"==0)true .. 在那个问题中我提到了 4 种可能性输出。对于所有条件都应该为假是输出。除了 ` "all"==0` 我英语不好。对于任何语法错误,我深表歉意。
猜你喜欢
  • 2010-09-19
  • 2021-11-08
  • 1970-01-01
  • 1970-01-01
  • 2010-10-10
  • 2018-05-30
  • 2020-01-25
  • 2011-11-12
相关资源
最近更新 更多