这更像是对快速建议的要求,因为我发现很难相信手头的任务没有本地功能.考虑以下:
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手册,找不到任何东西
谢谢你好好读这个问题西蒙
完全有一个本机array_column()函数(从PHP 5.5开始):
$column = array_column($arr, 'groupname');
Run Code Online (Sandbox Code Playgroud)
如果您使用的是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)
你绝对不必使用递归.