在php中,有时我们需要从一个二维数组中提取一列数据进行处理,这时可以使用php内置函数array_column(),它可以轻松地将一个二维数组中的某一列提取出来。
语法:array_column(array $input, mixed $column_key[, mixed $index_key])
参数说明:
- $input:待提取列的数组。
- $column_key:需要提取的列,可以是字符串key名称,也可以是数字index。
- $index_key:可选参数,如果指定了该参数,返回的数组将使用该参数的值作为索引key,而不是原始数组的数字key。
下面我们来看一个实际的例子:
$students = array(
立即学习“PHP免费学习笔记(深入)”;
array('id' => 1, 'name' => 'Tom', 'score' => 80),
array('id' => 2, 'name' => 'Jack', 'score' => 90),
array('id' => 3, 'name' => 'Mary', 'score' => 85),);
// 提取成绩列
$scores = array_column($students, 'score');
print_r($scores);
上述代码中,我们有一个$students数组,包含3个学生的信息。我们使用array_column()函数提取了$students数组中的score列,保存到$scores数组中,然后使用print_r()函数输出了$scores数组的值。
运行以上代码,我们可以看到输出:
Array
(
[0] => 80 [1] => 90 [2] => 85
)
可以看到,$scores数组中只包含了$students数组中的score列的值,而没有包含其他列的值。
一个功能强大的B2B与B2C的购物平台,除了原本OSC功能外,增加更新的功能: 一、 取消了register_globals必须开启的限制 二、 將HTML程式碼与PHP程式碼完全分离,採用了smarty 樣板引擎 三、 每支档案includes所需函数与资料库连结,使的网页显示速度明显提升 四、 检视、购买商品群组权限设定 五、 十八岁以下禁购机制 六、 折价券购物抵扣机制 七、 礼券购物机制
另外,如果我们想在$scores数组中使用id作为索引key,可以在array_column()函数中传入第三个参数:
$students = array(
立即学习“PHP免费学习笔记(深入)”;
array('id' => 1, 'name' => 'Tom', 'score' => 80),
array('id' => 2, 'name' => 'Jack', 'score' => 90),
array('id' => 3, 'name' => 'Mary', 'score' => 85),);
// 提取成绩列,并使用id作为索引key
$scores = array_column($students, 'score', 'id');
print_r($scores);
输出结果:
Array
(
[1] => 80 [2] => 90 [3] => 85
)
我们可以看到,$scores数组中每个元素的key都是原始数组中每个学生的id,而值则是对应的成绩。
总结:
在处理二维数组时,PHP内置函数array_column()是一个非常实用的工具,它可以轻松地提取目标列,避免了重复写循环查找每个键值的繁琐操作,大幅提高了开发效率。










