当我们在使用PHP开发Web应用时,有时需要仅仅获取数组中的一列数据,而不需要全部数据。下面,我将介绍如何获取PHP数组中指定的一列实例。
使用 array_column 函数
PHP提供了一个名为 array_column
的函数,可以非常方便地获取数组中指定某一列的数据。 array_column
函数需要传入三个参数,分别是需要进行操作的数组、需要获取的值的列名或者列号、作为索引的列名。
示例1: 获取多维数组中某一列的数据。
$students = [
[
'name' => 'Tom',
'score' => 95,
'age' => 20,
],
[
'name' => 'Jerry',
'score' => 88,
'age' => 21,
],
[
'name' => 'Mike',
'score' => 92,
'age' => 19,
],
];
$scores = array_column($students, 'score');
print_r($scores);
输出:
Array
(
[0] => 95
[1] => 88
[2] => 92
)
示例2: 获取二维数组中某两列的数据。
$students = [
[
'name' => 'Tom',
'score' => 95,
'age' => 20,
],
[
'name' => 'Jerry',
'score' => 88,
'age' => 21,
],
[
'name' => 'Mike',
'score' => 92,
'age' => 19,
],
];
$data = array_column($students, null, 'name');
$names = array_keys($data);
$scores = array_column($data, 'score');
print_r($names);
print_r($scores);
输出:
Array
(
[0] => Tom
[1] => Jerry
[2] => Mike
)
Array
(
[Tom] => 95
[Jerry] => 88
[Mike] => 92
)
使用 foreach 循环
如果不想使用 array_column
函数,可以使用 foreach
循环遍历数组,并通过下标获取指定列的元素。用 array_push
函数将元素添加到新的数组中。
示例3: 获取多维数组中某一列的数据。
$students = [
[
'name' => 'Tom',
'score' => 95,
'age' => 20,
],
[
'name' => 'Jerry',
'score' => 88,
'age' => 21,
],
[
'name' => 'Mike',
'score' => 92,
'age' => 19,
],
];
$scores = [];
foreach ($students as $student) {
array_push($scores, $student['score']);
}
print_r($scores);
输出:
Array
(
[0] => 95
[1] => 88
[2] => 92
)
示例4: 获取二维数组中某两列的数据。
$students = [
[
'name' => 'Tom',
'score' => 95,
'age' => 20,
],
[
'name' => 'Jerry',
'score' => 88,
'age' => 21,
],
[
'name' => 'Mike',
'score' => 92,
'age' => 19,
],
];
$names = [];
$scores = [];
foreach ($students as $student) {
array_push($names, $student['name']);
array_push($scores, $student['score']);
}
print_r($names);
print_r($scores);
输出:
Array
(
[0] => Tom
[1] => Jerry
[2] => Mike
)
Array
(
[0] => 95
[1] => 88
[2] => 92
)
综上所述,我们可以使用 array_column
或者 foreach
循环来获取PHP数组中指定的一列实例。其中 array_column
函数更为方便,但需要PHP版本大于等于5.5.0; foreach
循环适用于所有版本的PHP,但需要手动遍历数组,并使用 array_push
函数将元素添加到新的数组中。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP获取数组中指定的一列实例 - Python技术站