在本 PHP 教程中,您将学习有关 PHP 数组的所有知识。我们将详细讨论各种类型的数组,如索引数组、关联数组、多维数组,我们还将讨论数组函数。
数组是 PHP 中的数据结构之一。数组用于在连续的内存位置存储相同类型的数据。我们可以在数组中存储任意数量的数据。“array ()” 函数用于在 PHP 中创建数组。数组主要有三种类型:索引数组、关联数组、多维数组。

索引数组是指每个元素都有一个索引值,从 0 开始。默认情况下,PHP 中的每个数组都是索引数组。PHP 中的索引数组可以用来存储整数、字符串或任何对象。PHP 中的索引数组也称为数字数组。
在 PHP 中创建索引数组主要有两种方法
$languages = array ("PHP", "Python", "GO", "JavaScript");
foreach ($languages as $language) {
echo "$language \n";
}
输出
PHP Python GO JavaScript
在上面的示例中,我们可以看到我们使用“array ()”函数创建了数组。通过使用 array () 函数,我们可以通过传递所需的元素作为参数来创建数组,并且它将自动在每个位置进行索引。我们还使用 foreach 循环打印了数组的每个元素。
$languages[0] = "PHP";
$languages[1] = "Python";
$languages[2] = "GO";
$languages[3] = "JavaScript";
foreach ($languages as $language) {
echo "$language \n";
}
输出
PHP Python GO JavaScript
在上面的示例中,我们可以看到我们通过手动将元素分配给数组的相应索引来创建了数组。这不是推荐的方法,因为它更耗时,并且还会增加代码。我们还使用 foreach 循环打印了数组的每个元素。
索引数组是指数组中的每个元素都以名称或键而不是索引存储的数组。在 PHP 中,键值对是使用“=>”符号创建的。在 PHP 中,由于每个元素都由标签而不是递增的数字表示,因此您可以轻松记住它。
$ages = array ("Jhon" => 23, "Roy" => 15, "Justin" => 20, "Bob" =>27);
foreach ($ages as $name=>$age) {
echo "$name is $age years old \n";
}
输出
Jhon is 23 years old Roy is 15 years old Justin is 20 years old Bob is 27 years old
在上面的示例中,我们可以看到我们使用“array()”函数创建了数组。通过使用 array() 函数,我们可以通过传递所需的元素及其对应的键作为参数来创建数组。我们还使用 foreach 循环打印了数组的每个元素。
$ages["Jhon"] = 23;
$ages["Roy"] = 15;
$ages["Justin"] = 20;
$ages["Bob"] = 27;
foreach ($ages as $name=>$age) {
echo "$name is $age years old \n";
}
输出
Jhon is 23 years old Roy is 15 years old Justin is 20 years old Bob is 27 years old
在上面的示例中,我们可以看到我们通过手动将元素分配给数组的相应键来创建了数组。这不是推荐的方法,因为它更耗时,并且还会增加代码。我们还使用 foreach 循环打印了数组的每个元素。
在 PHP 中,多维数组用于在数组本身中存储数组。它有助于以表格形式存储数据。PHP 多维数组可以表示为矩阵,以行 * 列表示。
$students = array
(
array(1,"Bob",20),
array(2,"John",21),
array(3,"Roy",20)
);
for ($row = 0; $row < 3; $row++) {
for ($col = 0; $col < 3; $col++) {
echo $students[$row] [$col]." ";
}
echo "\n";
}
输出
1 Bob 20 2 John 21 3 Roy 20
在上面的示例中,我们可以看到要创建多维数组,我们必须在一个数组中创建多个数组。通过这种方式,我们可以以矩阵形式存储元素。我们还打印了数组的每个元素。
PHP 有许多数组方法用于访问和操作数组中的元素。下面列出了最常用的数组函数。
array() 函数用于创建和返回数组。它用于创建索引数组、关联数组和多维数组。语法:
array(value1, value2, value3, ...);
$languages = array ("PHP", "Python", "GO", "JavaScript");
echo $languages[2];
输出
GO
array_change_key_case() 函数用于更改数组中元素键的大小写。语法:
array_change_key_case(array, case);
$ages = array ("Jhon" => 23, "Roy" => 15, "Justin" => 20, "Bob" =>27);
print_r(array_change_key_case($ages,CASE_UPPER));
输出
Array
(
[JHON] => 23
[ROY] => 15
[JUSTIN] => 20
[BOB] => 27
)
array_chunk() 函数用于将数组拆分为多个部分。语法:
array_chunk(array, size, preserve_key);
$ages = array ("Jhon" => 23, "Roy" => 15, "Justin" => 20, "Bob" =>27);
print_r(array_chunk($ages,2));
输出
Array
Array
(
[0] => Array
(
[0] => 23
[1] => 15
)
[1] => Array
(
[0] => 20
[1] => 27
)
)
count() 函数用于返回数组中元素的数量。语法:
count(array, mode(optional));
$languages = array ("PHP", "Python", "GO", "JavaScript");
echo count($languages);
输出
4
list() 函数用于在一个操作中将数组中的元素分配给变量。语法:
list(var1, var2, ...)
$languages = array ("PHP", "Python", "GO", "JavaScript");
list($a, $b, $c, $d) = $languages;
echo $a. "\n";
echo $b. "\n";
echo $c. "\n";
echo $d. "\n";
输出
PHP Python GO JavaScript
sort() 函数用于按顺序排序数组 语法:
sort(array, sorttype (optional));
$languages = array ("PHP", "Python", "GO", "JavaScript");
sort($languages);
print_r($languages);
输出
Array
(
[0] => GO
[1] => JavaScript
[2] => PHP
[3] => Python
)
array_reverse () 函数用于将数组按相反顺序排列。语法:
array_reverse(array, preserve);
$languages = array ("PHP", "Python", "GO", "JavaScript");
print_r(array_reverse($languages));
输出
Array
(
[0] => JavaScript
[1] => GO
[2] => Python
[3] => PHP
)
array_search() 函数用于在数组中搜索元素,如果该值存在于数组中,则返回其索引或键。语法:
array_search(value, array, strict(optional));
$languages = array ("PHP", "Python", "GO", "JavaScript");
echo array_search("GO", $languages);
输出
2
array_merge() 函数用于合并两个或更多数组。语法:
array_merge(array1, array2, array3, ...);
$languages1 = array ("GO", "JavaScript");
$languages2 = array ("PHP", "Python");
print_r(array_merge($languages1, $languages2));
输出
Array
(
[0] => GO
[1] => JavaScript
[2] => PHP
[3] => Python
)
array_intersect () 函数用于比较两个或更多数组并返回公共元素。语法:
array_intersect(array1, array2, array3, ...);
$languages1 = array ("GO", "JavaScript", "R");
$languages2 = array ("PHP", "Python", "GO", "R");
print_r(array_intersect($languages1, $languages2));
输出
Array
(
[0] => GO
[2] => R
)