PHP 变量存储不同的类型的数据,不同的数据类型可以做不一样的事情。
PHP 支持以下几种数据类型:
- String(字符串)
- Integer(整型)
- Float(浮点型)
- Boolean(布尔型)
- Array(数组)
- Object(对象)
- NULL(空值)
- Resource(资源类型)
PHP 字符串
一个字符串是一串字符的序列,就像 "Hello world!"。
你可以将任何文本放在单引号和双引号中:
1. <?php 2. $x = "Hello world!"; 3. echo $x; 4. echo "<br>"; 5. $x = 'Hello world!'; 6. echo $x; 7. ?>
PHP 整型
整数是一个没有小数的数字。
整数规则:
- 整数必须至少有一个数字 (0-9)
- 整数不能包含逗号或空格
- 整数是没有小数点的
- 整数可以是正数或负数
- 整型可以用三种格式来指定:十进制, 十六进制( 以 0x 为前缀)或八进制(前缀为 0)。
在以下实例中我们将测试不同的数字。
PHP var_dump函数返回变量的数据类型和值:
1. <?php 2. $x = 5985; 3. var_dump($x); 4. echo "<br>"; 5. $x = -345; // 负数 6. var_dump($x); 7. echo "<br>"; 8. $x = 0x8C; // 十六进制数 9. var_dump($x); 10. echo "<br>"; 11. $x = 047; // 八进制数 12. var_dump($x); 13. ?>
PHP 浮点型
浮点数是带小数部分的数字,或是指数形式。
在以下实例中我们将测试不同的数字。 PHP var_dump() 函数返回变量的数据类型和值:
1. <?php 2. $x = 10.365; 3. var_dump($x); 4. echo "<br>"; 5. $x = 2.4e3; 6. var_dump($x); 7. echo "<br>"; 8. $x = 8E-5; 9. var_dump($x); 10. ?>
PHP 布尔型
布尔型可以是 TRUE 或 FALSE。
$x=true;
$y=false;
布尔型通常用于条件判断。在接下来的章节中你会学到更多关于条件控制的教程。
PHP 数组
数组可以在一个变量中存储多个值。
在以下实例中创建了一个数组, 然后使用 PHP var_dump() 函数返回数组的数据类型和值:
1. <?php 2. $cars=array("Volvo","BMW","Toyota"); 3. var_dump($cars); 4. ?>
PHP 对象
对象数据类型也可以用于存储数据。
在 PHP 中,对象必须声明。
首先,你必须使用class关键字声明类对象。类是可以包含属性和方法的结构。
然后我们在类中定义数据类型,然后在实例化的类中使用数据类型:
1. <?php 2. class Car 3. { 4. var $color; 5. function __construct($color="green") { 6. $this->color = $color; 7. } 8. function what_color() { 9. return $this->color; 10. } 11. } 12. ?>
以上实例中PHP关键字this就是指向当前对象实例的指针,不指向任何其他对象或类。
PHP NULL 值
NULL 值表示变量没有值。NULL 是数据类型为 NULL 的值。
NULL 值指明一个变量是否为空值。 同样可用于数据空值和NULL值的区别。
可以通过设置变量值为 NULL 来清空变量数据:
1. <?php 2. $x="Hello world!"; 3. $x=null; 4. var_dump($x); 5. ?>
PHP 资源类型
PHP 资源 resource 是一种特殊变量,保存了到外部资源的一个引用。
常见资源数据类型有打开文件、数据库连接、图形画布区域等。
由于资源类型变量保存有为打开文件、数据库连接、图形画布区域等的特殊句柄,因此将其它类型的值转换为资源没有意义。
使用 get_resource_type() 函数可以返回资源(resource)类型:
get_resource_type(resource $handle): string
此函数返回一个字符串,用于表示传递给它的 resource 的类型。如果参数不是合法的 resource,将产生错误。
1. <?php 2. $c = mysql_connect(); 3. echo get_resource_type($c)."\n"; 4. // 打印:mysql link 5. 6. $fp = fopen("foo","w"); 7. echo get_resource_type($fp)."\n"; 8. // 打印:file 9. 10. $doc = new_xmldoc("1.0"); 11. echo get_resource_type($doc->doc)."\n"; 12. // 打印:domxml document 13. ?>