php和null
❶ php语句的结构与变量类型
php语句:
一个php文件通常包含HTML标记和一些php语句段。
一个php语句段从<?php 标签开始,到 ?> 结束。php标签用于分割其他php语句段和html,php语句写在两个标签中间,可以写多行PHP语句。
注意:php语句以分号结尾,如果没有分号,则会继续分析文件,直到下一个分号,并忽略中间的空格和换行。
php中,回车换行,空格,制表符都被视为空格,php解析器会当它们不存在。
例如:
<?php
echo 'Hello World';
?>
php的变量类型:
php一共八种基本的变量类型,包括如下:
四种标量类型:
boolean (布尔型)
integer (整型)
float (浮点型, 也称作 double)
string (字符串)
两种复合类型:
array (数组)
object (对象)
最后是两种特殊类型:
resource(资源)
NULL(NULL)
另外php还有一些伪类型:
mixed
number
callback
❷ 在PHP中,最常见的自动类型转换情况有几种
php是一种弱类型的语言,它可以根据运行环境的变化而自动进行数据类型的转换
1.1转换成布尔类型的原则
以下值都将转换成布尔类型中的false:
A.布尔类型的false;
B.空字符串''
C.正数0或浮点数0.0或字符串'0'(不包括字符串'0.0')
D.没有成员的数组----array()
E.null
除此之外其它值都转换成true.
1.2转换成数值型的原则
A.如果字符串为合法的数字字符串,同时不包含./e/E,而且没有超过整型的存数范围时,将转换为整型;否则转换成浮点型;
B.如果数字字符串以非法的字符开头,则转换成0;
C.布尔型的true转换成整数1,false转换成整数0;
D.null转换为0
E.浮点数转换成整数时向下取整
1.3转换成字符串的原则
A.数值转换成字符串即数值本身;
B.布尔型的true转换成字符串'1';false转换成字符串'';
C.null转化成空字符串'';
D.数组转换成Array
E.资源将转换成Resourse id #数字
❸ php 怎么去除&ldquo 和 rdquo
string addslashes ( string str) 返回字符串,该字符串为了数据库查询语句等的需要在某些字符前加上了反斜线。
这些字符是单引号(\')、双引号(\")、反斜线(\\)与 NUL(NULL 字符) stripslashes作用相反在处理mysql和GET、POST的数据时,常常要对数据的引号进行转义操作。 PHP中有三个设置可以实现自动对’(单引号),”(双引号),\\(反斜线)和 NULL 字符转移。 PHP称之为魔术引号,这三项设置分别是 magic_quotes_gpc 影响到 HTTP 请求数据(GET,POST 和 COOKIE)。
不能在运行时改变。在 PHP 中默认值为 on。 magic_quotes_runtime 如果打开的话,大部份从外部来源取得数据并返回的函数,包括从数据库和文本文件,所返回的数据都会被反斜线转义。该选项可在运行的时改变,在 PHP 中的默认值为 off。 magic_quotes_sybase 如果打开的话,将会使用单引号对单引号进行转义而非反斜线。
此选项会完全覆盖 magic_quotes_gpc。如果同时打开两个选项的话,单引号将会被转义成 ”。而双引号、反斜线 和 NULL 字符将不会进行转义。
虽然方便的实现了对特殊符号的自动转义,但是这样会使得程序效率降低,并导致程序可移植变得麻烦。在不知道服务器ini设置的情况下,还需要调用get_magic_quotes_gpc() ,get_magic_quotes_runtime() 或ini_get()来检测状态。使用stripslashes去掉转义
❹ php中isset, empty, is_null的区别
在PHP中,`isset()`, `empty()` 和 `is_null()` 这三个函数常被误认为相似,但它们在实际应用中分别服务于不同的目的。本文旨在解释这三个函数之间的区别。
首先,让我们了解PHP的基础数据类型:string, number, boolean, null, undefined。这些类型构成了PHP中数据处理的基础。
`undefined`代表变量未被定义,即不存在的状态。
`null`表示变量已定义但未赋值,通常用于明确表示变量的空值状态,比`undefined`更进一步。
`string`, `number`, `boolean`的初始值分别为`''`, `0`, `false`。这些初始值表示变量被定义且已知类型,但值可能未知。
`string`, `number`, `boolean`的常规值则是在初始值基础上赋予了具体值。
接下来,让我们深入探讨`isset()`, `empty()`和`is_null()`的区别。
`isset()`用于检查变量是否已定义,且不是`null`。如果变量未定义或定义但不是`null`,则返回`false`;否则返回`true`。
`empty()`则用于检查变量是否为空。它不仅检查变量是否未定义或定义但为`null`,还检查变量是否为`false`, `0`, `''`等空值类型。如果变量满足上述任何一种条件,`empty()`返回`true`;否则返回`false`。
可以看出,`isset()`和`empty()`之间存在递进关系,`empty()`可以看作是`isset()`的增强版本。
最后,让我们谈谈`is_null()`。与`isset()`和`empty()`不同,`is_null()`检查变量是否为`null`。如果变量未定义,`is_null()`将引发错误;如果变量已定义且为`null`,返回`true`;其他情况下返回`false`。
通过以上解释,我们可以清晰地了解到`isset()`, `empty()`和`is_null()`之间的区别。这三个函数分别针对不同的场景使用,选择正确函数可以帮助我们更高效地处理变量和数据。