PHP 数组是一种用于存储多个值的复合数据类型,它可以是整数索引的(索引数组)或字符串索引的(关联数组)。PHP 提供了丰富的函数来操作数组,包括创建、访问、搜索、排序、合并、分割等。以下是一个 PHP 数组的详细使用教程:
一、创建数组
1. 直接赋值
$array = array('apple', 'banana', 'cherry'); // 索引数组
$fruits = array('apple' => 'red', 'banana' => 'yellow', 'cherry' => 'red'); // 关联数组
注意:在 PHP 5.4.0 及以上版本中,可以使用短数组语法 []
来代替 array()
。
2. 使用 array()
函数(已在上文示例中展示)
二、访问数组元素
1. 通过键访问元素
对于关联数组,可以通过键名来访问元素:
echo $fruits['apple']; // 输出 red
对于索引数组,可以通过索引来访问元素(索引从 0 开始):
echo $array[0]; // 输出 apple
2. 循环遍历数组
使用 foreach
循环遍历数组中的元素:
foreach ($fruits as $key => $value) {
echo "Key: $key, Value: $value\n";
}
三、数组操作函数
1. 获取数组元素数量
$count = count($fruits);
2. 增加数组元素
- 使用
array_push()
或[]
语法在数组末尾添加元素。 - 使用键值对方式添加关联数组元素。
array_push($fruits, 'orange');
$fruits[] = 'orange'; // 等同于上一行
$colors['apple'] = 'red'; // 关联数组
3. 弹出数组末尾元素
$lastFruit = array_pop($fruits);
4. 移除数组开头的元素
$firstFruit = array_shift($fruits);
5. 在数组开头添加一个或多个元素
array_unshift($fruits, 'pear');
6. 合并两个数组
$combinedArray = array_merge($fruits, $colors);
四、数组搜索、筛选、过滤、转换
1. 检查数组中是否存在某个值
if (in_array('red', $colors)) {
echo 'Red 存在于这个数组';
}
2. 搜索数组中的值并返回键名
$key = array_search('banana', $fruits);
echo $key; // 输出 1
3. 过滤数组
使用 array_filter()
函数过滤数组中的元素:
$data = [
['id' => 1, 'name' => 'Alice', 'age' => 25],
['id' => 2, 'name' => 'Bob', 'age' => 30],
['id' => 3, 'name' => 'Charlie', 'age' => 28]
];
$filteredData = array_filter($data, function($item) {
return $item['age'] >= 28;
});
echo json_encode($filteredData);
4. 转换数组
- 使用
array_map()
对数组中的每个元素应用回调函数。 - 使用
array_values()
和array_keys()
提取数组的值和键。
五、数组排序
PHP 提供了多种数组排序函数,包括:
sort()
和rsort()
:对索引数组进行升序和降序排序。asort()
和arsort()
:对关联数组进行值的升序和降序排序,保留键名。ksort()
和krsort()
:对关联数组的键进行升序和降序排序。array_multisort()
:对多个数组或多维数组进行排序。
六、其他常用函数
array_unique()
:移除数组中的重复值。array_reverse()
:返回顺序与原数组相反的数组。array_rand()
:从数组中随机取出一个或多个元素。shuffle()
:将数组中的元素顺序打乱。
红客社区:
原文链接: PHP数组