只是为了扩展这里的一些答案,从 PHP 5.5 开始,array_column 就是您想要的。
它实际上有几种可能的用途。
使用下面的示例数组,以下是使用 array_column 的不同方法。
$a = array(
array('id' => '1', 'name' => 'Joe'),
array('id' => '2', 'name' => 'Jane')
);
检索单个列作为数组
$b = array_column($a, 'name');
会给你。请注意,自动键从 0 开始,就像普通数组一样。
$b[0] = 'Joe';
$b[1] = 'Jane';
以列为索引检索完整数组。
$c = array_column($a, NULL, 'id');
将导致以下结果。
$c[1] = array('id' => '1', 'name' => 'Joe');
$c[2] = array('id' => '2', 'name' => 'Jane');
请注意,我选择作为第三个参数的列如何成为每个项目的键,并且我通过将第二个参数设置为 null 来获取完整数组。
当然,最终的用法是设置第二和第三个参数。
$d = array_column($a, 'name', 'id');
将为您提供以下内容。
$d[1] = 'Joe';
$d[2] = 'Jane';
我个人使用完整的 3 个参数来创建选择选项列表。如果我有一个包含选项的表,我会查询该表并获取结果,然后将其传递给此参数以获取以键为值和标签的列表。这也是构建需要通过索引相交的信息集的绝妙方法。