应该很多人都还没有认清空字符
串('')和NULL的关系吧!!现在我来说明一下吧:
先看一个例子:
'' == NULL;
'' === NULL;
运行之后会发现第一个为true,第二个为false!
为什么会这样呢?其实在PHP
中空字符串和NULL都是以值为0存储的!而==只比较值,所以第一个为true!但是第二个为什么是false呢!?
原因是在PHP中变量是以C语言的结构体来存储的,其中这个结构体有个zend_uchar type;
这
样的成员变量,他是用来保存变量的类型的,而空字符串的类型是string而NULL的类型是NULL。这一点可以用echo
gettype('');和echo gettype(NULL);来打印看看!而===运算符是不单比较值,还有比较类型的,所以第二个为false!
所以可以这样说===是等于下面的函数
:
function
eq
(
$var1
,
$var2
) {
if(
$var1
==
$var2
&&
gettype
(
$var1
) ==
gettype
(
$var2
)) {
return
1
;
} else {
return
0
;
}
}
复制代码
所以空字符串(''),NULL和0是值相等而类型不一样!
注意:
NULL是一种特殊的类型.
两种情况下为NULL
1. $var = NULL;
2. $var;
分享到:
相关推荐
Null字符在 C 语言中用于标识字符串结束,一个完整的字符串是从其开头到遇见 Null 字符为止。 以下代码演示了类似的攻击:Example #1 会被 Null 字符问题攻击的代码复制代码 代码如下:<?php$file = $_GET[‘file...
PHP 获取JSON json_decode返回NULL解决办法,不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,这样处理才能正确解析json数据
在实际应用中,如果在解析JSON字符串时返回NULL,可以按照上述方法检查和处理数据。如果数据处理后依然无法解析,还需要检查JSON字符串是否真的完整,以及是否有语法错误。 总结来说,`json_decode()`解析JSON字符...
如果在进行了上述所有操作后,`json_decode()`函数仍然返回`NULL`,那么可能是因为JSON字符串中存在不可见的特殊字符或者格式问题。这时候需要仔细检查JSON字符串,确保格式的正确性,特别是确保所有的双引号`"`都...
在PHP编程语言中,字符串处理是一项非常常见的任务。"php通用截取字符串"这个主题主要涉及如何在PHP中对字符串进行截取,以便获取我们感兴趣的特定部分。这通常用于显示预览、处理用户输入或者从长文本中提取关键...
在PHP编程中,处理UTF-8编码的字符串时,由于UTF-8是一种多字节的字符编码,中文和英文字符的长度是不一致的。在进行字符串截取时,如果不考虑编码特性,可能会导致截取结果错误。这篇博客“PHP 不区分中英文截取utf...
在PHP编程语言中,字符串函数是处理文本数据的关键工具,它们提供了丰富的功能来操作和分析字符串。以下是对标题“PHP中的字符串函数”及其描述中提到的一些重要知识点的详细解析: ### 1. 字符串转义与解码 - **...
当magic_quotes_gpc打开时,所有的单引号(')、双引号(")、反斜线(\)和NUL(NULL字符)都会自动被转义为含有反斜线的特殊字符。例如,文本'hello'会被转义为'hello',这样可以确保这些数据在用于数据库查询时不会引起...
在PHP编程中,正确地判断和比较变量的值是至关重要的,尤其是涉及到null、0、''(空字符串)和false这些特殊值时。这些值在不同的上下文和比较操作下可能会有不同的行为。以下是对这些基础知识的详细解释: 1. **...
本文实例讲述了PHP处理Json字符串解码返回NULL的解决方法。分享给大家供大家参考之用。具体方法如下: 一般来说,php对json字符串解码使用json_decode()函数,第一个参数传字符串,第二个参数若为true,返回array;若...
`substr()` 是PHP中用于截取字符串的基本函数,而`mb_substr()` 则是多字节安全的版本,适用于处理包含多种字符集(如UTF-8)的字符串。 1. **substr() 函数** `substr(string $str, int $start, ?int $length = ...
`addslashes`会将单引号、双引号、反斜线和NULL字符前加上反斜线进行转义。 - `stripslashes`:与`addslashes`相对应,`stripslashes`用于去除字符串中的反斜线转义字符。 - `strip_tags`:用于去除字符串中的HTML...
在PHP编程中,字符串和二进制数据的转换是常见的操作,特别是在处理文件、网络通信或者数据存储时。本文将详细讲解如何在PHP中进行字符串与二进制之间的转换,并提供相关的示例代码。 首先,我们需要理解字符串和二...
除了上述函数,PHP还有其他与字符串处理相关的工具,如`strpos()`用于查找子字符串的位置,`strstr()`用于从字符串中查找子字符串并返回它的剩余部分,以及`str_replace()`用于替换字符串中的特定字符等。...
在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一...
无论是处理用户输入、构建SQL查询还是解析文本文件,掌握PHP中的字符串操作方法都是必不可少的。本文将详细介绍PHP中常用的字符串处理函数及其用法,并通过实例进行演示。 #### 一、输出字符串 ##### 1) `echo` `...