0

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

我有一个数组:

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 解决方案相同。但我找不到它或记得它。

*函数的名称是什么?*

4

2 回答 2

2

您可以使用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);
于 2013-10-05T08:54:06.337 回答
0

请在此处阅读手册

$resultIds = array_map(function($arrEle) {
   return $arrEle[0];
}, $result);

array_map 接受一个函数,该函数依次传递数组的每个元素,每个数组元素都会调用它。

然后,该函数需要在新数组中返回您想要的任何内容,在这种情况下,您需要子数组的第二个元素,所以我们 return $arrEle[1];

在整个数组被迭代之后,它返回新数组。

于 2013-10-05T09:01:06.127 回答