array_values , PHP数组简介

在我们关于 PHP 的系列文章的第二部分中,我们将深入研究数组的使用。
什么是数组?
数组是具有相关数字索引或位置的元素的集合。 数组用于将多个值存储在单个变量中,使其更易于管理和操作。
PHP 中有两种类型的数组:索引数组和关联数组。
索引数组是其中索引为数字的数组,并在将元素添加到数组时自动生成。 这些数组就是我们在其他编程语言中也称为数组的东西。 例如:
/*
*即使此数组包含以 1 开头的数字,第一个位置始终为 0。
因此 $numbers[0] 将为 1,$numbers[5] 将为 6
*/
$numeros = [1, 2, 3, 4, 5, 6];
另一方面,关联数组是那些索引是关联键的数组,不一定限于整数。 例如:
$diasDeLaSemana = [
'L' => 'Lunes',
'M' => 'Martes',
'X' => 'Miércoles',
'J' => 'Jueves',
'V' => 'Viernes',
'S' => 'Sábado',
'D' => 'Domingo'
];
// 虽然我们在这里使用字符串作为键,但访问的方式是一样的。
echo $diasDeLaSemana['X'];
// > Miércoles
在上面的示例中,我们创建了一个包含星期几的数组,但我们没有使用整数作为键,而是使用它们的缩写。 这类似于 Java Map 或 Python Dictionary。
在 PHP 中显示数组
一旦我们知道了如何创建数组,了解如何显示它们的内容就很重要了。
如果您尝试过,就会发现无法回显数组,这是因为回显语句旨在接收字符串。
echo $diasDeLaSemana;
// > Warning: Array to string conversion in X.php on line Y
通常我们不想显示整个数组,只显示它的值,但是,有时我们可能需要显示数组以查看它包含的内容,因为 PHP 为我们提供了两个函数:print_r 和 var_dump。
print_r 函数以人类可读的形式显示数组的内容,而 var_dump 显示有关数组的详细信息,例如其类型和长度。 例如:
print_r($diasDeLaSemana);
/*
Array
(
[L] => Lunes
[M] => Martes
[X] => Miércoles
[J] => Jueves
[V] => Viernes
[S] => Sábado
[D] => Domingo
)
*/
正如我们所见,print_r 使我们能够快速查看数组,并以我们易于理解的方式格式化。
var_dump($diasDeLaSemana);
/*
array(7) {
["L"]=> string(5) "Lunes"
["M"]=> string(6) "Martes"
["X"]=> string(10) "Miércoles"
["J"]=> string(6) "Jueves"
["V"]=> string(7) "Viernes"
["S"]=> string(7) "Sábado"
["D"]=> string(7) "Domingo"
}
*/
就其本身而言,var_dump 为我们提供了数组的更详细视图,包括其每个索引中包含的数据类型。
重要提示:var_dump 支持任何类型的变量,因此它是一个非常有用的函数,用于识别变量的类型和内容。
在 PHP 中使用数组的函数
PHP 提供了大量用于处理数组的函数。 一些最著名的是:
- count():返回数组中元素的数量。
- array_keys():返回一个包含给定数组所有键的数组。
- array_values():返回一个包含给定数组所有值的数组。
- sort():按升序对数组的元素进行排序。
- rsort():按降序对数组的元素进行排序。
例如:
echo count($diasDeLaSemana);
// > 7
print_r(array_keys($diasDeLaSemana));
/*
Array
(
[0] => L
[1] => M
[2] => X
[3] => J
[4] => V
[5] => S
[6] => D
)
*/
print_r(sort($diasDeLaSemana));
/*
* 该数组已按其值的字母顺序排序。
Array
(
[0] => Domingo
[1] => Jueves
[2] => Lunes
[3] => Martes
[4] => Miércoles
[5] => Sábado
[6] => Viernes
)
*/
这一切都很好但是......我如何遍历我的数组?
这个问题有一个简单的答案:使用 for,就像我们在 Java 中所做的那样,现在,使用普通的 for 我们可以遍历索引数组。 对于关联数组,我们有更好的东西:foreach。
foreach 允许您以简单的方式遍历数组。 它类似于 for 和 while 循环,但专门设计用于处理数组。
foreach ($diasDeLaSemana as $clave => $valor) {
echo $clave . ": " . $valor . PHP_EOL;
}
/*
L: Lunes
M: Martes
X: Miércoles
J: Jueves
V: Viernes
S: Sábado
D: Domingo
*/
/*
* 注意:PHP_EOL(PHP END OF LINE) 在末尾引入一个换行符
*/
在此示例中,foreach 循环遍历 $daysOfWeek 数组,并在每次迭代中将键的值分配给变量 $key,将元素的值分配给变量 $value。 然后,键和对应的值显示在屏幕上。
可能是我们不需要密钥的情况,在这种情况下,我们可以省略它:
foreach ($diasDeLaSemana as $valor) {
echo $valor . PHP_EOL;
}
/*
Lunes
Martes
Miércoles
Jueves
Viernes
Sábado
Domingo
*/
结束
同样,请记住,阅读以上所有内容不会直接让您成为数组的至高无上的魔法师,现在轮到您练习本文中看到的所有内容,寻找更多与数组一起使用的函数(有),找到更多循环遍历数组(有数组),并手动修改所有内容,直到您弄清楚为止。