PHP:数组

在 PHP 中,数组是一种非常强大的数据结构,可以存储多个值。

一、数组的定义

1. 索引数组:

索引数组的索引是整数,从 0 开始自动递增。可以使用方括号语法定义索引数组。

$fruits = array("apple", "banana", "orange");

// 或者使用短数组语法(自 PHP 5.4 起)

$fruits = ["apple", "banana", "orange"];

2. 关联数组:

关联数组的索引可以是字符串或其他类型的值,而不是自动递增的整数。关联数组通常用于存储键值对。

$person = array("name" => "John", "age" => 30, "gender" => "male");

// 或者使用短数组语法

$person = ["name" => "John", "age" => 30, "gender" => "male"];

二、数组的操作

1. 访问数组元素:

可以使用索引或键来访问数组中的元素。

$fruits = ["apple", "banana", "orange"];

echo $fruits[1]; // 输出 "banana"

$person = ["name" => "John", "age" => 30, "gender" => "male"];

echo $person["name"]; // 输出 "John"

2. 添加元素到数组:

可以使用方括号语法将新元素添加到数组中。对于索引数组,新元素的索引会自动递增。对于关联数组,可以指定新的键值对。

$fruits = ["apple", "banana", "orange"];

$fruits[] = "grape"; // 添加新元素到索引数组末尾

$fruits["favorite"] = "strawberry"; // 添加新的关联数组元素

$person = ["name" => "John", "age" => 30, "gender" => "male"];

$person["hobby"] = "reading"; // 添加新的关联数组元素

3. 修改数组元素:

可以直接使用索引或键来修改数组中的元素值。

$fruits = ["apple", "banana", "orange"];

$fruits[1] = "pear"; // 修改索引为 1 的元素

$person = ["name" => "John", "age" => 30, "gender" => "male"];

$person["age"] = 31; // 修改关联数组中的年龄

4. 删除数组元素:

可以使用unset()函数来删除数组中的元素。

$fruits = ["apple", "banana", "orange"];

unset($fruits[1]); // 删除索引为 1 的元素

$person = ["name" => "John", "age" => 30, "gender" => "male"];

unset($person["gender"]); // 删除关联数组中的性别元素

三、数组的常用函数

1. count():返回数组中元素的数量。

$fruits = ["apple", "banana", "orange"];

echo count($fruits); // 输出 3

2. array_push():将一个或多个元素添加到数组的末尾。

$fruits = ["apple", "banana"];

array_push($fruits, "orange", "grape");

print_r($fruits); // 输出 Array ( [0] => apple [1] => banana [2] => orange [3] => grape )

3. array_pop():删除并返回数组的最后一个元素。

$fruits = ["apple", "banana", "orange"];

$lastFruit = array_pop($fruits);

echo $lastFruit; // 输出 "orange"

print_r($fruits); // 输出 Array ( [0] => apple [1] => banana )

4. array_keys():返回数组中所有的键。

$person = ["name" => "John", "age" => 30, "gender" => "male"];

$keys = array_keys($person);

print_r($keys); // 输出 Array ( [0] => name [1] => age [2] => gender )

5. array_values():返回数组中所有的值。

$person = ["name" => "John", "age" => 30, "gender" => "male"];

$values = array_values($person);

print_r($values); // 输出 Array ( [0] => John [1] => 30 [2] => male )

PHP 的数组功能非常强大,可以用于存储和操作各种类型的数据。通过使用数组的操作和函数,可以轻松地处理复杂的数据结构。

在 PHP 中使用多种循环结构来处理数组

一、for 循环

1. 适用于索引数组:

当知道数组的长度时,可以使用for循环遍历索引数组。

$numbers = [1, 2, 3, 4, 5];

for ($i = 0; $i < count($numbers); $i++) {

    echo $numbers[$i]. " ";

}

二、foreach 循环

1. 遍历索引数组和关联数组:

foreach循环是处理数组最常用的方法之一,它可以遍历索引数组和关联数组。

对于索引数组:

$fruits = ["apple", "banana", "orange"];

foreach ($fruits as $fruit) {

    echo $fruit. " ";

}

对于关联数组:

$person = ["name" => "John", "age" => 30, "gender" => "male"];

foreach ($person as $key => $value) {

    echo "$key: $value ";

}

三、while 循环结合 each() 和 list() 函数

1. 遍历索引数组和关联数组:

each()函数返回数组中当前指针位置的键值对,并将指针向前移动一位。list()函数用于将数组的值赋给一组变量。

$fruits = ["apple", "banana", "orange"];
while ($fruit = each($fruits)) {
    echo $fruit['value']. " ";
}
$person = ["name" => "John", "age" => 30, "gender" => "male"];
while ($element = each($person)) {
    list($key, $value) = $element;
    echo "$key: $value ";
}

使用循环处理数组可以方便地对数组中的元素进行各种操作,如输出、修改、过滤等。根据不同的需求选择合适的循环方式可以提高代码的效率和可读性。

PHP编程语言基础