插件窝 干货文章 php的数组有哪些

php的数组有哪些

数组 array 索引 Arrays 269    来源:    2025-03-18

PHP 中的数组是一种非常灵活的数据结构,可以存储多个值。PHP 数组主要分为以下几种类型:

1. 索引数组(Indexed Arrays)

索引数组是最常见的数组类型,使用数字作为键(索引)。索引从 0 开始。

$fruits = array("Apple", "Banana", "Cherry");
// 或者
$fruits = ["Apple", "Banana", "Cherry"];

2. 关联数组(Associative Arrays)

关联数组使用字符串作为键(索引),键值对的形式存储数据。

$person = array("name" => "John", "age" => 30, "city" => "New York");
// 或者
$person = ["name" => "John", "age" => 30, "city" => "New York"];

3. 多维数组(Multidimensional Arrays)

多维数组是包含一个或多个数组的数组。可以是索引数组、关联数组或两者的混合。

$cars = array(
    array("Volvo", 22, 18),
    array("BMW", 15, 13),
    array("Saab", 5, 2),
    array("Land Rover", 17, 15)
);

4. 混合数组(Mixed Arrays)

PHP 数组可以同时包含索引数组和关联数组的元素。

$mixed = array(
    "name" => "John",
    "age" => 30,
    0 => "Apple",
    1 => "Banana"
);

5. 空数组(Empty Arrays)

空数组是一个不包含任何元素的数组。

$emptyArray = array();
// 或者
$emptyArray = [];

6. 稀疏数组(Sparse Arrays)

稀疏数组是指数组中某些索引未被定义或为 null 的数组。

$sparseArray = array();
$sparseArray[0] = "Apple";
$sparseArray[2] = "Banana";

7. 动态数组(Dynamic Arrays)

PHP 数组是动态的,可以在运行时动态添加或删除元素。

$dynamicArray = [];
$dynamicArray[] = "Apple"; // 自动分配索引 0
$dynamicArray[] = "Banana"; // 自动分配索引 1

8. 对象数组(Arrays of Objects)

数组中的元素可以是对象。

class Car {
    public $name;
    public $color;

    public function __construct($name, $color) {
        $this->name = $name;
        $this->color = $color;
    }
}

$cars = array(
    new Car("Volvo", "Red"),
    new Car("BMW", "Blue")
);

9. 数组的数组(Arrays of Arrays)

数组中的元素也可以是数组。

$matrix = array(
    array(1, 2, 3),
    array(4, 5, 6),
    array(7, 8, 9)
);

10. 特殊数组(Special Arrays)

PHP 还提供了一些特殊的数组类型,如 SplFixedArray,它是一个固定大小的数组,性能比普通数组更高。

$fixedArray = new SplFixedArray(3);
$fixedArray[0] = "Apple";
$fixedArray[1] = "Banana";
$fixedArray[2] = "Cherry";

总结

PHP 数组非常灵活,支持多种类型和结构。你可以根据需求选择不同类型的数组来存储和操作数据。