php如何选出数组指定下标
在php中,我们可以使用array_column()函数来选择数组指定的键或下标。这个函数可以获取指定数组的一列,它需要三个参数:原始数组、指定列的键名或下标、可选的列键或下标。下面我们来看一下array_column()函数的用法。
- 选择指定下标的一列
下面的代码演示了如何使用array_column()函数选择一个数组的指定下标列:
$users = array(
array('name' => '张三', 'age' => 28, 'sex' => '男'),
array('name' => '李四', 'age' => 29, 'sex' => '女'),
array('name' => '王五', 'age' => 30, 'sex' => '男')
);
// 选出数组的姓名列
$names = array_column($users, 'name');
print_r($names);
上面的代码将输出以下结果:
Array
(
[0] => 张三
[1] => 李四
[2] => 王五
)
在上面的代码中,我们使用array_column()函数选择了$users数组的'name'下标列,即每个子数组的'name'键对应的值。
- 选择指定下标的多列
可以将array_column()函数应用于多列,只需要将要选择的键名或下标包含在一个数组中即可。下面的代码演示了如何选择一个数组的多列:
$users = array(
array('name' => '张三', 'age' => 28, 'sex' => '男'),
array('name' => '李四', 'age' => 29, 'sex' => '女'),
array('name' => '王五', 'age' => 30, 'sex' => '男')
);
// 选出数组的姓名和性别列
$list = array_column($users, array('name', 'sex'));
print_r($list);
上面的代码将输出以下结果:
Array
(
[0] => Array
(
[name] => 张三
[sex] => 男
)
[1] => Array
(
[name] => 李四
[sex] => 女
)
[2] => Array
(
[name] => 王五
[sex] => 男
)
)
在上面的代码中,我们使用array_column()函数选择了$users数组的'name'和'sex'下标列,它们被包含在一个数组中。
- 选择多个数组的指定下标列
可以使用array_column()函数选择多个数组的指定下标列,只需要将多个数组传递给函数即可。下面的代码演示了如何选择多个数组的指定下标列:
$users1 = array(
array('name' => '张三', 'age' => 28, 'sex' => '男'),
array('name' => '李四', 'age' => 29, 'sex' => '女'),
array('name' => '王五', 'age' => 30, 'sex' => '男')
);
$users2 = array(
array('name' => '小明', 'age' => 18, 'sex' => '男'),
array('name' => '小红', 'age' => 19, 'sex' => '女'),
array('name' => '小刚', 'age' => 20, 'sex' => '男')
);
// 选出多个数组的姓名列
$names = array_column(array_merge($users1, $users2), 'name');
print_r($names);
上面的代码将输出以下结果:
Array
(
[0] => 张三
[1] => 李四
[2] => 王五
[3] => 小明
[4] => 小红
[5] => 小刚
)
在上面的代码中,我们使用array_column()函数选择了$users1和$users2数组的'name'下标列,它们先合并成一个数组,再使用array_column()函数。如果合并的数组中有相同的下标列名,后面的会逐渐覆盖前面的值。
总结
array_column()函数是一个非常实用的php数组函数,它可以快速选择出一个数组的指定下标列或多列,以及多个数组的指定下标列。在日常php开发中,特别是在操作数据库结果集的时候,array_column()函数可以大大提高代码的效率。
以上就是php如何选出数组指定下标的详细内容,更多请关注编程网其它相关文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341