数组基础
索引数组/关联数组、[] 和 array()、多维数组、foreach 遍历
数组基础
PHP 数组非常灵活——它同时扮演了其他语言中数组、哈希表、列表、集合等角色。
学完本章你将: 掌握索引数组/关联数组、[] 和 array()、foreach 遍历。
创建数组
php
<?php
// 索引数组
$fruits = ["apple", "banana", "cherry"];
$fruits = array("apple", "banana", "cherry"); // 旧式写法
// 关联数组
$user = [
"name" => "小明",
"age" => 25,
"city" => "北京",
];
// 混合(可以但一般不这样用)
$mixed = ["apple", "color" => "red", 42];
访问与修改
php
<?php
echo $fruits[0]; // "apple"
echo $user["name"]; // "小明"
$fruits[] = "durian"; // 追加到末尾
$user["email"] = "xm@example.com"; // 添加键值对
unset($fruits[1]); // 删除元素(下标不会重排)
foreach —— 遍历数组
php
<?php
// 遍历值
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
// 遍历键和值
foreach ($user as $key => $value) {
echo "$key: $value\n";
}
// 修改值——用引用
foreach ($fruits as &$fruit) {
$fruit = strtoupper($fruit);
}
unset($fruit); // 断开引用,防止后续意外修改
数组合并
php
<?php
$arr1 = ["a" => 1, "b" => 2];
$arr2 = ["b" => 3, "c" => 4];
// + 运算符(保留左边的值)
$result = $arr1 + $arr2; // ["a"=>1, "b"=>2, "c"=>4]
// array_merge(后面的覆盖前面的)
$result = array_merge($arr1, $arr2); // ["a"=>1, "b"=>3, "c"=>4]
// ... 展开(PHP 7.4+)
$result = [...$arr1, ...$arr2]; // 同 array_merge