有没有一个函数可以从PHP的数组中提取“列”?

2022-08-30 17:55:43

我有一个数组数组,具有以下结构:

array(array('page' => 'page1', 'name' => 'pagename1')
      array('page' => 'page2', 'name' => 'pagename2')
      array('page' => 'page3', 'name' => 'pagename3'))

是否有内置函数将返回仅包含“name”键值的新数组?所以我会得到:

array('pagename1', 'pagename2', 'pagename3')

答案 1

从您起可以使用array_column()PHP 5.5

<?php
$samples=array(
            array('page' => 'page1', 'name' => 'pagename1'),
            array('page' => 'page2', 'name' => 'pagename2'),
            array('page' => 'page3', 'name' => 'pagename3')
            );
$names = array_column($samples, 'name');
print_r($names);

查看实际应用


答案 2

为什么它必须是一个内置函数?不,没有,写你自己的。

这是一个很好且简单的,与此线程中的其他线程相反。

$namearray = array();

foreach ($array as $item) {
    $namearray[] = $item['name'];
}

在某些情况下,如果键未命名,您可以改为执行类似如下操作

$namearray = array();

foreach ($array as $key => $value) {
    $namearray [] = $value;
}