当前位置: 首页 > 面试题库 >

在PHP中不等于!=和!==

叶华皓
2023-03-14
问题内容

我一直这样做: if ($foo !== $bar)

但我意识到这if ($foo != $bar)也是正确的。

Double
=仍然可以使用,并且一直为我工作,但是每当我搜索PHP运算符时,都找不到关于double的信息=,因此我认为我一直做错了,但是无论如何它都可以工作。我应该改变我的所有!==!=只是为了它的缘故?


问题答案:

==并且!=不考虑您比较的变量的数据类型。因此,这些都将返回true:

'0'   == 0
false == 0
NULL  == false

===并且!== 考虑到数据类型。这意味着将字符串与布尔值进行比较 永远不会
是正确的,因为例如它们的类型不同。这些都将返回false:

'0'   === 0
false === 0
NULL  === false

您应该比较函数的数据类型,这些函数返回的值可能是含糊的真实/错误值。一个著名的例子是strpos()

// This returns 0 because F exists as the first character, but as my above example,
// 0 could mean false, so using == or != would return an incorrect result
var_dump(strpos('Foo', 'F') != false);  // bool(false)
var_dump(strpos('Foo', 'F') !== false); // bool(true), it exists so false isn't returned


 类似资料:
  • 问题内容: 我在客户端有一组对象。数组中的对象如下所示: 我尝试将此数组过滤为2个数组: 类型=== 1 使用类型!== 1 我这样做: 但是不相等的方法不起作用…我该怎么办? 谢谢! 问题答案: 同样,如果您只是要使用,请改用本机方法:

  • 问题内容: 我只是想知道我可以在php中执行哪种mysql命令,它将从某个表中选择所有项目,其中columna不等于x并且columnb不等于x 就像是: 有任何想法吗? 问题答案: 关键是sql查询,您将其设置为字符串: 请注意,有很多方法可以指定NOT。另一个效果很好的是: 这是如何使用它的完整示例: 您可以在上述while循环内做任何您想做的事情。作为元素访问表中的每个字段,这意味着将为您提

  • 问题内容: JavaScript中是否有一种方法可以比较一个数组中的值并查看它是否在另一个数组中? 类似于PHP的功能? 问题答案: 不,它没有一个。因此,大多数流行的库在其实用程序包中都附带一个库。查看jQuery的inArray和Prototype的Array.indexOf的示例。 jQuery的实现就像您期望的那样简单: 如果您要处理大量的数组元素,那么上面的技巧就可以很好地解决问题。 编

  • 问题内容: 我已经找到了以下问题,但我想知道是否有一种更快,更脏的方法来估算不依赖外部库的python解释器当前正在使用多少内存。 我来自PHP,过去经常为此目的使用memory_get_usage()和memory_get_peak_usage(),我希望能找到一个等效的对象。 问题答案: 以下代码为Linux和其他系统提供了一个简单的解决方案,我在我的项目中使用了以下代码: 它返回当前和峰值驻

  • 问题内容: 是否有Java等价于PHP的mysql_real_escape_string()? 这是为了避免在将SQL注入尝试传递给Statement.execute()之前进行尝试。 我知道我可以改用PreparedStatement,但让我们假设这些只是一次声明,所以准备它们会导致性能降低。我已经将代码更改为使用PreparedStatement,但是考虑到现有代码的结构方式,escape()

  • 问题内容: PHP 中JavaScript的功能等同于什么? 问题答案: 尝试。或更确切地说: 此函数的工作方式与定义的完全相同: 转义除以下字符外的所有字符:字母,十进制数字,