数组简介
数组是一种数据结构,用于存储多个值。在 PHP 中,数组可以包含任意类型的数据,包括数字、字符串、对象等。PHP 的数组实际上是动态的哈希表。
数组类型
PHP 支持三种类型的数组:
- 索引数组:索引数组的键是整数。
- 关联数组:关联数组的键是字符串。
- 多维数组:多维数组可以包含其他数组。
创建数组
索引数组
$fruits = array("apple", "banana", "orange"); // 或者使用短语法 $fruits = ["apple", "banana", "orange"];
关联数组
-- -------------------- ---- ------- ------- - ------ ------ -- ------- ----- -- --- ------ -- ---- ----- -- -- ------- ------- - - ------ -- ------- ----- -- --- ------ -- ---- ----- --
多维数组
-- -------------------- ---- ------- ----------- - ------ -------------- ---------- --------------- --------- -- -- ------- ----------- - - --------- ---------- ---------- --------- --
数组操作
添加元素
向索引数组添加元素
$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 循环遍历数组
-- -------------------- ---- ------- ------- - --------- --------- ---------- ------- -------- -- ------- - ---- ------ - ----- - -- ------ ------- - - ------ -- ------- ----- -- --- ------ -- ---- ----- -- ------- -------- -- ---- -- ------- - ---- ------ ---------- -
数组排序
排序索引数组
$numbers = [3, 1, 2]; sort($numbers); // 升序 rsort($numbers); // 降序
排序关联数组
-- -------------------- ---- ------- ------- - - ------ -- ------- ----- -- --- ------ -- ---- ----- -- --------------- -- ---- --------------- -- ---- ---------------- -- ---- ---------------- -- ----
数组函数
检查数组是否为空
$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 数组有所帮助。