PHP 数组操作
PHP 数组基础
数组是 PHP 中最常用的数据结构之一,它可以存储多个值,并通过键(key)来访问这些值。PHP 的数组非常灵活,可以同时包含不同类型的数据。
数组类型
索引数组
索引数组使用数字作为键,从 0 开始:
$fruits = ["苹果", "香蕉", "橙子"];
// 或者使用 array() 语法
$fruits = array("苹果", "香蕉", "橙子");
// 访问数组元素
echo $fruits[0]; // 输出:苹果
关联数组
关联数组使用字符串作为键:
$person = [
"name" => "张三",
"age" => 25,
"city" => "北京"
];
// 访问数组元素
echo $person["name"]; // 输出:张三
常用数组操作
添加元素
// 添加到索引数组末尾
$fruits[] = "葡萄";
// 添加到关联数组
$person["email"] = "zhangsan@example.com";
删除元素
// 删除特定元素
unset($fruits[1]);
// 清空整个数组
$fruits = array();
数组函数
- 计数
$count = count($fruits); // 获取数组长度
- 排序
// 升序排序
sort($fruits);
// 降序排序
rsort($fruits);
// 关联数组按值排序
asort($person);
// 关联数组按键排序
ksort($person);
- 查找
// 检查元素是否存在
if (in_array("苹果", $fruits)) {
echo "找到了苹果";
}
// 查找元素的键
$key = array_search("苹果", $fruits);
数组遍历
foreach 循环
// 遍历索引数组
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
// 遍历关联数组
foreach ($person as $key => $value) {
echo "$key: $value\n";
}
for 循环(适用于索引数组)
for ($i = 0; $i < count($fruits); $i++) {
echo $fruits[$i] . "\n";
}
数组操作实例
合并数组
$array1 = [1, 2, 3];
$array2 = [4, 5, 6];
$result = array_merge($array1, $array2);
// 结果:[1, 2, 3, 4, 5, 6]
数组过滤
$numbers = [1, 2, 3, 4, 5, 6];
$evenNumbers = array_filter($numbers, function($n) {
return $n % 2 == 0;
});
// 结果:[2, 4, 6]
数组映射
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
// 结果:[2, 4, 6, 8, 10]
实践练习
- 创建一个包含你喜欢的书籍的关联数组,包含书名、作者和出版年份。
- 使用数组函数对书籍按出版年份排序。
- 使用 foreach 循环显示所有书籍信息。
- 实现一个函数,找出数组中的最大值和最小值。
通过这些练习,你将更好地掌握 PHP 数组的使用方法,为后续的 PHP 开发打下坚实的基础。