PHP 中 NULL 和 null 之间的区别

Difference between NULL and null in PHP

提问人:cmcculloh 提问时间:8/12/2008 最后编辑:abatishchevcmcculloh 更新时间:6/2/2023 访问量:38669

问:

和 在 PHP 中有什么区别吗?有时它们似乎是可以互换的,有时则不是。NULLnull

编辑:出于某种原因,当我阅读答案中链接的文档时(在发布此问题之前),我将其阅读为“区分大小写”而不是“不区分大小写”,这就是我首先发布此问题的全部原因......

php

评论

2赞 Funk Forty Niner 10/30/2013
NULL=null反之亦然,除非查询 DB 中的完全匹配项。
0赞 Pablo Pazos 10/29/2018
@FunkFortyNiner这个问题不涉及数据库。问题是关于编程语言的。
1赞 Funk Forty Niner 10/29/2018
@PabloPazos 6 年过去了,你为什么要给我打电话?另外,如果你再次阅读我的评论,你会看到可能的相关性。看看关键词“除非”,这可能是一个事实。
2赞 Kenziiee Flavius 12/21/2018
@PabloPazos甚至发表像你这样的评论都有点荒谬,但他所说的话是完全相关和有帮助的。如果其他人在出现数据库错误时看到这一点,这将有助于快速跟踪解决方案,那些不相关的人也会继续前进并查看另一个答案。
3赞 Jeff 3/25/2019
@FunkFortyNiner 感谢您的评论,这正是我需要听到的。我试图通过使用 isset() 过滤掉数据库值 NULL,它通常为常规 null 返回 false,但对于数据库值,我不得不使用 $value === NULL。我不太明白这是怎么回事,但我带着这个问题来到了这个页面。

答:

138赞 mbillard 8/12/2008 #1

Null 不区分大小写。

文档中:

只有一个 null 类型的值,即不区分大小写的关键字 NULL。

评论

8赞 Funk Forty Niner 10/30/2013
除非查询 DB 中的完全匹配项。
0赞 Razin Abid 12/6/2019
我在比较从数据库查询获取的值时遇到问题。你能帮忙吗?null
1赞 dolmen 3/30/2021
@FunkFortyNiner SQL 和 PHP 是不同的语言。他们有不同的行为。NULL
1赞 Alexander Behling 11/4/2021
对于那些现在想知道用大写还是小写写关键字更好的人。PHP-FIG 建议此关键字使用小写表示法(参见 php-fig.org/psr/psr-2)。我同意这一点,因为以这种方式编写时,与同名 MySQL 关键字的混淆较少。但是,由于这些只是建议(其中一些是有争议的,例如,用空格缩进与制表符),您应该了解它们,并且有了这些知识,如果您还没有任何指南,您可以决定是否遵循它们。
11赞 Desolator 5/19/2013 #2

没有区别。相同类型,只是它是一个不区分大小写的关键字。与/等相同...TrueFalse

3赞 RedDragonWebDesign 12/31/2021 #3

任何一种都可以。但是官方的PHP风格指南PSR-12建议小写。

https://www.php-fig.org/psr/psr-12/,第 2.5 节

0赞 Stack Overflow 6/2/2023 #4

NULL = null,这意味着 ,两者相互引用,并且只有一种数据类型。null = NULLnull

PHP手册:

只有一个 null 类型的值,即不区分大小写的值 常量 null

仅当基础数据库具有特定要求时,才应考虑此因素。

但是,如果我们以MySQL DBMS为例,则列中的null值表示为大写NULL,但这两种情况都有效。为了让您满意,可以使用 NULL 例如。