PHP 数组详解
什么是 PHP 数组
PHP 数组是一种复杂的数据类型,用于存储多个值。与许多其他编程语言不同,PHP 中的数组实际上是有序映射(ordered maps),可以包含数字、字符串等各种类型的值作为键名。
数组类型
PHP 支持两种主要数组类型:
-
索引数组 - 使用数字作为键名
$colors = array("Red", "Green", "Blue");
-
关联数组 - 使用字符串作为键名
$person = array("name" => "John", "age" => 30);
创建数组
PHP 提供了多种创建数组的方式:
// 传统方式
$array1 = array(1, 2, 3);
// PHP 5.4+ 短语法
$array2 = [1, 2, 3];
// 动态添加元素
$array3 = [];
$array3[] = "First";
$array3[] = "Second";
常用数组函数
PHP 提供了丰富的数组处理函数:
count()
- 获取数组元素数量array_push()
- 向数组末尾添加元素array_pop()
- 移除并返回数组末尾元素array_merge()
- 合并多个数组array_keys()
- 返回数组中所有键名array_values()
- 返回数组中所有值in_array()
- 检查值是否存在于数组中
遍历数组
PHP 提供了多种遍历数组的方式:
// for 循环(适用于索引数组)
for ($i = 0; $i < count($array); $i++) {
echo $array[$i];
}
// foreach 循环(适用于所有数组类型)
foreach ($array as $value) {
echo $value;
}
// 带键名的 foreach
foreach ($array as $key => $value) {
echo "$key: $value";
}
多维数组
PHP 支持多维数组,即数组中包含其他数组:
$multi = [
"fruits" => ["apple", "banana"],
"colors" => ["red", "blue"]
];
数组排序
PHP 提供了多种排序函数:
sort()
- 对数组升序排序rsort()
- 对数组降序排序asort()
- 根据值对关联数组升序排序ksort()
- 根据键对关联数组升序排序
实用技巧
-
数组解构(PHP 7.1+):
[$a, $b] = [1, 2];
-
展开运算符(PHP 7.4+):
$merged = [...$array1, ...$array2];
-
空值合并运算符:
$value = $array['key'] ?? 'default';
PHP 数组功能强大且灵活,掌握好数组操作是 PHP 开发的基础。
这一切,似未曾拥有