数组上的 PHP 循环始终返回第一个元素


php loop over a array return always first element

简单的问题,但我找不到解决方案。

我有一个数组:

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_maparray_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];

历整个数组后,它将返回新数组。