简单的问题,但我找不到解决方案。
我有一个数组:
array
0 =>
array
1 => string '25' (length=2)
1 =>
array
1 => string '27' (length=2)
我需要得到:
array
0 => string '25' (length=2)
1 => string '27' (length=2)
是的,如果我能做到的话:
foreach($result as $each) {
$resultIds[]=$each[1];
}
但我很确定我本周在某处看到了一个功能,比如......
array_something('current',$result);
什么将循环数组作为foreach并返回第一个元素,因此结果将与foreach解决方案相同。但我找不到或记得它。
*函数的名称是什么? *
您可以使用
array_map
或array_walk
array_map示例
<?php
function first($n)
{
return $n[1];
}
$arr = array(
array(1, 2, 4),
array(1, 2, 3,),
);
var_export($arr);
// call internal function
$arr = array_map('current', $arr);
var_export($arr);
// call user function
$arr = array_map('first', $arr);
请在此处阅读手册
$resultIds = array_map(function($arrEle) {
return $arrEle[0];
}, $result);
array_map采用一个函数,该函数依次传递数组的每个元素,则为每个数组元素调用它。
然后,该函数需要返回新数组中您想要的任何内容,在这种情况下,您需要子数组的第二个元素,因此我们返回$arrEle[1]
;
历整个数组后,它将返回新数组。