PHP数组.基于键的简单拆分

Sim*_*mon 6 php arrays split

这更像是对快速建议的要求,因为我发现很难相信手头的任务没有本地功能.考虑以下:

array => 
(0) => array("id" => "1", "groupname" => "fudge", "etc" => "lorem ipsum"),
(1) => array("id" => "2", "groupname" => "toffee", "etc" => "lorem ipsum"),
(2) => array("id" => "3", "groupname" => "caramel", "etc" => "lorem ipsum")
)
Run Code Online (Sandbox Code Playgroud)

我期待得到的是一个新的数组,它只使用"groupname",所以会相等:

array =>
(0) => "fudge",
(1) => "toffee",
(2) => "caramel"
)
Run Code Online (Sandbox Code Playgroud)

我知道实现递归遍历原始数组非常简单,但我想知道是否有更简单的方法来实现最终结果.我环顾了互联网和PHP手册,找不到任何东西

谢谢你好好读这个问题西蒙

flo*_*ori 7

完全有一个本机array_column()函数(从PHP 5.5开始):

$column = array_column($arr, 'groupname');
Run Code Online (Sandbox Code Playgroud)


Fel*_*ing 6

如果您使用的是PHP 5.3,则可以使用如下所示的array_map [docs]:

$newArray = array_map(function($value) {
    return $value['groupname'];
}, $array);
Run Code Online (Sandbox Code Playgroud)

否则创建一个普通函数并传递其名称(请参阅文档).

另一种解决方案是迭代数组:

$newArray = array();

foreach($array as $value) {
    $newArray[] = $value['groupname'];
}
Run Code Online (Sandbox Code Playgroud)

你绝对不必使用递归.