PHP使用函数获取数组的一部分

PHP使用函数获取数组的一部分,php,arrays,Php,Arrays,我有这样一个数组: $a1 = array( array('id'=>"1","others"=>"asdhuisah"), array('id'=>"4","others"=>"asdhuisah"), array('id'=>"213","others"=>"asdhuisah") ); 我想把它的一部分保存到一个新数组$a2 我知道我可以使用循环来完成: $a2 = array(); foreach($a1 as $key=&g

我有这样一个数组:

$a1 = array(
    array('id'=>"1","others"=>"asdhuisah"),
    array('id'=>"4","others"=>"asdhuisah"),
    array('id'=>"213","others"=>"asdhuisah")
);
我想把它的一部分保存到一个新数组
$a2

我知道我可以使用循环来完成:

$a2 = array();
foreach($a1 as $key=>$value){
    array_push($a2,$value["id"]);
}
有没有一个函数可以让我一次完成所有这些任务?

试试这个:

$fun_id = function($value){

    return $value["id"];

} ;

$a2 = array_map($fun_id, $a1);

您可以使用数组映射和lambda函数:

$return_id = function($item) {
  return $item['id'];
};
$ids_array = array_map($return_id, $a1);

我想array_slice可以帮你做。

你检查过这里吗?您正在寻找的函数已被调用。谢谢,您的代码确实有效。我的意思是在PHP中是否有函数,而不是用户定义的函数。@v-joy这个问题的答案现在只是“否”。不,没有这样的内置函数。正如hakre链接到的线程中所提到的,它是针对PHP5.5提出的。没有,但这种方式是干净和优雅的。Array_slice可以做到这一点,我想我想知道是否有一个内置函数可以做到这一点。但是谢谢你的帮助。