数组简介
数组是一种数据结构,用于存储多个值。在 PHP 中,数组可以包含任意类型的数据,包括数字、字符串、对象等。PHP 的数组实际上是动态的哈希表。
数组类型
PHP 支持三种类型的数组:
- 索引数组:索引数组的键是整数。
- 关联数组:关联数组的键是字符串。
- 多维数组:多维数组可以包含其他数组。
创建数组
索引数组
$fruits = array("apple", "banana", "orange");
// 或者使用短语法
$fruits = ["apple", "banana", "orange"];关联数组
// www.javascriptcn.com code example
$person = array(
"name" => "John",
"age" => 30,
"city" => "New York"
);
// 或者使用短语法
$person = [
"name" => "John",
"age" => 30,
"city" => "New York"
];多维数组
// www.javascriptcn.com code example
$multiArray = array(
array("apple", "banana"),
array("carrot", "potato")
);
// 或者使用短语法
$multiArray = [
["apple", "banana"],
["carrot", "potato"]
];数组操作
添加元素
向索引数组添加元素
$numbers = [1, 2, 3]; array_push($numbers, 4); // 使用 array_push 函数 $numbers[] = 5; // 直接赋值
向关联数组添加元素
$person = [
"name" => "John",
"age" => 30
];
$person["city"] = "New York"; // 直接赋值删除元素
删除索引数组中的元素
$numbers = [1, 2, 3, 4, 5]; unset($numbers[1]); // 使用 unset 函数
删除关联数组中的元素
$person = [
"name" => "John",
"age" => 30,
"city" => "New York"
];
unset($person["city"]);修改元素
$fruits = ["apple", "banana", "orange"]; $fruits[1] = "pear"; // 修改第二个元素
遍历数组
使用 for 循环遍历索引数组
$numbers = [1, 2, 3, 4, 5];
for ($i = 0; $i < count($numbers); $i++) {
echo $numbers[$i] . "\n";
}使用 foreach 循环遍历数组
// www.javascriptcn.com code example
$fruits = ["apple", "banana", "orange"];
foreach ($fruits as $fruit) {
echo $fruit . "\n";
}
// 遍历关联数组
$person = [
"name" => "John",
"age" => 30,
"city" => "New York"
];
foreach ($person as $key => $value) {
echo "$key: $value\n";
}数组排序
排序索引数组
$numbers = [3, 1, 2]; sort($numbers); // 升序 rsort($numbers); // 降序
排序关联数组
// www.javascriptcn.com code example
$person = [
"name" => "John",
"age" => 30,
"city" => "New York"
];
asort($person); // 按值升序
ksort($person); // 按键升序
arsort($person); // 按值降序
krsort($person); // 按键降序数组函数
检查数组是否为空
$emptyArray = [];
if (empty($emptyArray)) {
echo "数组为空";
} else {
echo "数组不为空";
}获取数组长度
$fruits = ["apple", "banana", "orange"]; $count = count($fruits); echo "数组中有 $count 个元素";
数组合并
$array1 = ["a", "b", "c"]; $array2 = ["d", "e", "f"]; $mergedArray = array_merge($array1, $array2);
数组分割
$fruits = ["apple", "banana", "orange", "pear"]; $slicedArray = array_slice($fruits, 1, 2); // 从索引 1 开始取 2 个元素
数组过滤
$numbers = [1, 2, 3, 4, 5];
$evenNumbers = array_filter($numbers, function($number) {
return $number % 2 == 0;
});数组映射
$numbers = [1, 2, 3, 4, 5];
$squaredNumbers = array_map(function($number) {
return $number * $number;
}, $numbers);以上是关于 PHP 数组操作的详细讲解,涵盖了数组的基本概念、创建、操作、遍历、排序及一些常用的数组函数。希望这些内容对你理解和应用 PHP 数组有所帮助。