php数组实现
PHP 数组的基本实现
PHP 数组是一种非常灵活的数据结构,可以存储多个值,并且支持多种类型的键(整数或字符串)。PHP 数组实际上是有序映射(ordered map),可以看作是列表(vector)、哈希表(hash table)、字典(dictionary)、集合(set)等多种数据结构的组合。
创建数组
在 PHP 中,可以通过 array() 语法或简化的 [] 语法来创建数组。
// 使用 array() 创建数组
$array1 = array("apple", "banana", "cherry");
// 使用 [] 创建数组
$array2 = ["apple", "banana", "cherry"];
索引数组
索引数组使用数字作为键,键从 0 开始自动递增。
$fruits = ["apple", "banana", "cherry"];
echo $fruits[0]; // 输出: apple
关联数组
关联数组使用字符串作为键,键值对的形式存储数据。
$person = [
"name" => "John",
"age" => 30,
"city" => "New York"
];
echo $person["name"]; // 输出: John
多维数组
多维数组是包含一个或多个数组的数组,可以用于存储复杂的数据结构。

$employees = [
[
"name" => "John",
"age" => 30,
"department" => "IT"
],
[
"name" => "Jane",
"age" => 25,
"department" => "HR"
]
];
echo $employees[0]["name"]; // 输出: John
数组操作
PHP 提供了丰富的数组操作函数,用于添加、删除、修改、遍历等操作。
添加元素
$fruits = ["apple", "banana"];
$fruits[] = "cherry"; // 添加元素到末尾
array_push($fruits, "orange"); // 使用 array_push 添加元素
删除元素

unset($fruits[1]); // 删除键为 1 的元素
array_pop($fruits); // 删除最后一个元素
遍历数组
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
foreach ($person as $key => $value) {
echo "$key: $value\n";
}
常用数组函数
PHP 提供了许多内置函数用于数组操作,例如:
count():获取数组长度。array_merge():合并数组。array_keys():获取所有键。array_values():获取所有值。in_array():检查值是否存在。array_search():搜索值并返回键。
$count = count($fruits); // 获取数组长度
$merged = array_merge($fruits, ["orange", "grape"]); // 合并数组
$keys = array_keys($person); // 获取所有键
数组排序
PHP 提供了多种排序函数,例如 sort()、rsort()、asort()、ksort() 等。
sort($fruits); // 对数组进行升序排序
rsort($fruits); // 对数组进行降序排序
asort($person); // 根据值对关联数组进行升序排序
ksort($person); // 根据键对关联数组进行升序排序
注意事项
- PHP 数组的键可以是整数或字符串,如果是字符串形式的数字,会被转换为整数。
- 未指定键的元素会自动分配一个整数键,从 0 开始递增。
- 使用
unset()删除元素后,数组的键不会重新索引,可以使用array_values()重新索引。
通过灵活使用 PHP 数组及其函数,可以实现复杂的数据存储和操作需求。





