首页 > PHP教程 > PHP变量及数据类型

PHP基本数据类型

php数据类型

标量类型: string(字符串) integer(整型) float(浮点型,也作 double ) boolean(布尔型)

 PHP变量及数据类型

Integer 整型

整型值可以使用十进制,十六进制,八进制或二进制表示,前面可以加上可选的符号(- 或者 +)。

PHP 不支持无符号整数。

二进制表达的 integer 自 PHP 5.4.0 起可用。

要使用八进制表达,数字前必须加上 0(零)。要使用十六进制表达,数字前必须加上 0x。要使用二进制表达,数字前必须加上 0b。

1
2
3
4
5
6
<?php
$a = 1234; // 十进制数  $a定义了变量a
$a = -123; // 负数 
$a = 0123; // 八进制数 (等于十进制 83)
$a = 0x1A; // 十六进制数 (等于十进制 26)
?>

整数溢出:如果给定的一个数或运算的运算结果超出了 integer 的数值范围,将会被解释为 float。

转换为整型:

1.  要明确地将一个值转换为 integer,用 (int) 或 (integer) 强制转换。大多数情况下都不需要强制转换,因为当运算符,函数或流程控制需要一个 integer 参数时,值会自动转换。还可以通过函数 intval() 来将一个值转换成整型。

2.  从布尔值转换 FALSE 为0,TRUE 为1。

3.  当从浮点数转换成整数时,将向下取整。如:6.6转换成6

4.  从字符串转换,如:"56"会转换成56

 

Float 浮点型

1
2
3
4
5
<?php
$a = 1.234; 
$b = 1.2e3; //1200
$c = 7E-2;  //0.07
?>

 NAN 代表着任何不同值,不应拿 NAN 去和其它值进行比较,包括其自身,is_nan()函数 — 判断是否为合法数值 

 

Boolean 布尔类型 

要指定一个布尔值,使用关键字 TRUE 或 FALSE。不区分大小写。

转换为布尔值:

要明确地将一个值转换成 boolean,用 (bool) 或者 (boolean) 来强制转换。很多情况下不需要用强制转换,因为当运算符,函数或者流程控制结构需要一个 boolean 参数时,该值会被自动转换。

当转换为 boolean 时,以下值被认为是 FALSE:

1.  布尔值 FALSE 本身

2.  整型值 0(零)

3.  浮点型值 0.0(零)

4.  空字符串,以及字符串 "0"

5.  不包括任何元素的数组

6.  不包括任何成员变量的对象(仅 PHP 4.0 适用)

7.  特殊类型 NULL(包括尚未赋值的变量)

8.  从空标记生成的 SimpleXML 对象

所有其它值都被认为是 TRUE(包括任何资源)。

 

String 字符串

字符串可以用 '.'(点)运算符连接起来

一个字符串可以用 4 种方式表达:

单引号:

要表达一个单引号自身,需在它的前面加个反斜线(\)来转义。要表达一个反斜线自身,则用两个反斜线(\\)。其它任何方式的反斜线都会被当成反斜线本身:也就是说如果想使用其它转义序列例如 \r 或者 \n,并不代表任何特殊含义,就单纯是这两个字符本身。在单引号字符串中的变量和特殊字符的转义序列将不会被替换

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
echo 'string';  //字符串string
// 可以录入多行
echo 'hello world 
hello world
hello world';  //输出hello world hello world hello world
 
echo 'hello world: "I\'ll be back"';  // 输出: hello world: "I'll be back"  输出一个单引号,需在它的前面加个反斜线(\)来转义
 
echo 'hello world:\\*.*?';  // 输出: hello world:\*.*?  输出一个反斜线自身,则用两个反斜线(\\)
 
echo 'hello world:\*.*?';// 输出:hello world:\*.*?
 
echo 'This will not expand: \n a newline'; //// 输出: This will not expand: \n a newline 不会换行,如果将结果输出到浏览器或打印到显示器,代码中使用</br>。如果只是在源代码中换行,则使用\n或\r\n,浏览器识别不了\n或\r\n,这两个换行符是文本换行符
 
$one=1;  
$two=2;  
echo 'The line is $one $two';  // 输出: The line is $one $two  变量$one,$two不被解析为1,2
 
$one=1;  
$two=2;  
echo 'The line is '.$one.' '.$two;  // 输出: The line is 1 2
?>

双引号:

如果字符串是包围在双引号(")中, PHP 将对一些特殊的字符进行解析,用双引号定义的字符串最重要的特征是变量会被解析

当 PHP 解析器遇到一个符号($)时,它会组合尽量多的标识以形成一个合法的变量名。可以用花括号来明确变量名的界线。一个 array 索引或一个 object 属性也可被解析。

1
2
3
4
5
<?php
$one=1;  
$two=2;  
echo "The line is $one $two";  // 输出: The line is 1 2  变量$one,$two被解析为1,2
?>

转换成字符串:

一个值可以通过在其前面加上 (string) 或用 strval() 函数来转变成字符串。在一个需要字符串的表达式中,会自动转换为 string。比如在使用函数 echo 或 print 时,或在一个变量和一个 string 进行比较时,就会发生这种转换。

关闭
感谢您的支持,我会继续努力!
扫码打赏,建议金额1-10元


提醒:打赏金额将直接进入对方账号,无法退款,请您谨慎操作。