PHP 数据类型详解
在 PHP 中,变量不需要声明类型,PHP 会根据变量的值自动判断其数据类型。PHP 共有 8 种主要数据类型,分为 标量类型、复合类型 和 特殊类型。
1. 标量(基础)数据类型
标量类型是 PHP 最基本的数据类型,包括:
- 整型(integer)
- 浮点型(float / double)
- 字符串(string)
- 布尔型(boolean)
1.1 整型(Integer)
整型(integer) 用于表示 整数,范围取决于运行环境的 PHP 版本和操作系统(通常 32 位系统的范围是 -2,147,483,648 ~ 2,147,483,647,64 位系统的范围更大)。
<?php
$int1 = 42;
$int2 = -100;
$int3 = 0x2A; // 十六进制 (42)
$int4 = 012; // 八进制 (10)
$int5 = 0b101; // 二进制 (5)
var_dump($int1, $int2, $int3, $int4, $int5);
?>
判断是否是整型
<?php
var_dump(is_int(42)); // true
?>
1.2 浮点型(Float / Double)
浮点数是带有小数部分或指数表示法的数字:
<?php
$float1 = 3.14159;
$float2 = 2.5e3; // 2500
$float3 = 8E-5; // 0.00008
var_dump($float1, $float2, $float3);
?>
判断是否是浮点数
<?php
var_dump(is_float(3.14)); // true
?>
1.3 字符串(String)
PHP 的字符串可以用单引号或双引号表示:
<?php
$str1 = "Hello, World!";
$str2 = 'PHP is awesome!';
$str3 = "包含变量: $str1"; // 变量解析
$str4 = '不解析变量: $str1'; // 变量不会解析
echo $str3, "\n", $str4;
?>
字符串拼接
<?php
$first = "Hello";
$second = "World";
$full = $first . ", " . $second . "!";
echo $full; // 输出 "Hello, World!"
?>
字符串长度
<?php
echo strlen("Hello PHP"); // 9
?>
1.4 布尔型(Boolean)
布尔值只有 true 和 false:
<?php
$bool1 = true;
$bool2 = false;
var_dump($bool1, $bool2);
?>
布尔值的转换规则
<?php
var_dump((bool)0); // false
var_dump((bool)42); // true
var_dump((bool)""); // false
var_dump((bool)"Hello"); // true
?>
2. 复合数据类型
复合类型用于存储多个值,包括:
- 数组(array)
- 对象(object)
2.1 数组(Array)
数组可以存储多个值:
<?php
$arr = array("Apple", "Banana", "Cherry");
var_dump($arr);
?>
关联数组
<?php
$user = array("name" => "John", "age" => 30);
echo $user["name"]; // John
?>
多维数组
<?php
$matrix = array(
array(1, 2, 3),
array(4, 5, 6)
);
echo $matrix[1][2]; // 6
?>
2.2 对象(Object)
PHP 使用 class 关键字创建对象:
<?php
class Car {
public $brand;
function __construct($brand) {
$this->brand = $brand;
}
function getBrand() {
return $this->brand;
}
}
$myCar = new Car("Tesla");
echo $myCar->getBrand(); // Tesla
?>
3. 特殊数据类型
PHP 还提供了一些特殊数据类型:
- NULL
- 资源(Resource)
3.1 NULL
NULL 表示一个变量没有值:
<?php
$var = null;
var_dump($var);
?>
检查变量是否为 NULL
<?php
var_dump(is_null($var)); // true
?>
3.2 资源(Resource)
资源是对外部资源(如数据库、文件、图像等)的引用:
<?php
$file = fopen("test.txt", "r");
var_dump($file); // resource(type=stream)
?>
4. 类型转换
PHP 允许显式转换数据类型:
<?php
$var = "123";
$intVar = (int)$var; // 转换为整型
$floatVar = (float)$var; // 转换为浮点数
?>
自动类型转换
<?php
$sum = "5" + 10; // 15,字符串自动转换为整数
var_dump($sum);
?>
总结
| 数据类型 | 说明 |
|---|---|
| 整型(integer) | 存储整数,如 42 |
| 浮点型(float) | 存储小数,如 3.14 |
| 字符串(string) | 存储文本,如 "Hello" |
| 布尔型(boolean) | true 或 false |
| 数组(array) | 存储多个值 |
| 对象(object) | 存储类的实例 |
| NULL | 变量没有值 |
| 资源(resource) | 文件、数据库连接等 |
更多详细内容请关注其他相关文章!