`
chengxianju
  • 浏览: 257786 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

php中的NULL字符

    博客分类:
  • php
阅读更多

应该很多人都还没有认清空字符 串('')和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;

分享到:
评论

相关推荐

    解析php安全性问题中的:Null 字符问题

    Null字符在 C 语言中用于标识字符串结束,一个完整的字符串是从其开头到遇见 Null 字符为止。 以下代码演示了类似的攻击:Example #1 会被 Null 字符问题攻击的代码复制代码 代码如下:<?php$file = $_GET[‘file...

    PHP 获取JSON json_decode返回NULL解决办法

    PHP 获取JSON json_decode返回NULL解决办法,不小心在返回的json字符串中返回了BOM头的不可见字符,某些编辑器默认会加上BOM头,这样处理才能正确解析json数据

    Json_decode 解析json字符串为NULL的解决方法(必看)

    在实际应用中,如果在解析JSON字符串时返回NULL,可以按照上述方法检查和处理数据。如果数据处理后依然无法解析,还需要检查JSON字符串是否真的完整,以及是否有语法错误。 总结来说,`json_decode()`解析JSON字符...

    PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠

    如果在进行了上述所有操作后,`json_decode()`函数仍然返回`NULL`,那么可能是因为JSON字符串中存在不可见的特殊字符或者格式问题。这时候需要仔细检查JSON字符串,确保格式的正确性,特别是确保所有的双引号`"`都...

    php通用截取字符串.zip

    在PHP编程语言中,字符串处理是一项非常常见的任务。"php通用截取字符串"这个主题主要涉及如何在PHP中对字符串进行截取,以便获取我们感兴趣的特定部分。这通常用于显示预览、处理用户输入或者从长文本中提取关键...

    PHP 不区分中英文截取utf8字符串

    在PHP编程中,处理UTF-8编码的字符串时,由于UTF-8是一种多字节的字符编码,中文和英文字符的长度是不一致的。在进行字符串截取时,如果不考虑编码特性,可能会导致截取结果错误。这篇博客“PHP 不区分中英文截取utf...

    PHP中的字符串函数

    在PHP编程语言中,字符串函数是处理文本数据的关键工具,它们提供了丰富的功能来操作和分析字符串。以下是对标题“PHP中的字符串函数”及其描述中提到的一些重要知识点的详细解析: ### 1. 字符串转义与解码 - **...

    PHP的特殊字符转译函数使用.pdf

    当magic_quotes_gpc打开时,所有的单引号(')、双引号(")、反斜线(\)和NUL(NULL字符)都会自动被转义为含有反斜线的特殊字符。例如,文本'hello'会被转义为'hello',这样可以确保这些数据在用于数据库查询时不会引起...

    PHP判断和比较null、0、''、false的正确姿势.docx

    在PHP编程中,正确地判断和比较变量的值是至关重要的,尤其是涉及到null、0、''(空字符串)和false这些特殊值时。这些值在不同的上下文和比较操作下可能会有不同的行为。以下是对这些基础知识的详细解释: 1. **...

    PHP处理Json字符串解码返回NULL的解决方法

    本文实例讲述了PHP处理Json字符串解码返回NULL的解决方法。分享给大家供大家参考之用。具体方法如下: 一般来说,php对json字符串解码使用json_decode()函数,第一个参数传字符串,第二个参数若为true,返回array;若...

    php 截取字符串

    `substr()` 是PHP中用于截取字符串的基本函数,而`mb_substr()` 则是多字节安全的版本,适用于处理包含多种字符集(如UTF-8)的字符串。 1. **substr() 函数** `substr(string $str, int $start, ?int $length = ...

    PHP 笔记001 - 字符串、正则表达式

    `addslashes`会将单引号、双引号、反斜线和NULL字符前加上反斜线进行转义。 - `stripslashes`:与`addslashes`相对应,`stripslashes`用于去除字符串中的反斜线转义字符。 - `strip_tags`:用于去除字符串中的HTML...

    PHP 字符串与二进制互转

    在PHP编程中,字符串和二进制数据的转换是常见的操作,特别是在处理文件、网络通信或者数据存储时。本文将详细讲解如何在PHP中进行字符串与二进制之间的转换,并提供相关的示例代码。 首先,我们需要理解字符串和二...

    php截取字符串

    除了上述函数,PHP还有其他与字符串处理相关的工具,如`strpos()`用于查找子字符串的位置,`strstr()`用于从字符串中查找子字符串并返回它的剩余部分,以及`str_replace()`用于替换字符串中的特定字符等。...

    多字节支持的字符串操纵的php库.zip

    在程序设计中,字符串(string)为符号或数值的一个连续序列,如符号串(一串字符)或二进制数字串(一串二进制数字)。通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一...

    PHP字符串处理总结

    无论是处理用户输入、构建SQL查询还是解析文本文件,掌握PHP中的字符串操作方法都是必不可少的。本文将详细介绍PHP中常用的字符串处理函数及其用法,并通过实例进行演示。 #### 一、输出字符串 ##### 1) `echo` `...

Global site tag (gtag.js) - Google Analytics