在PHP中获取同一索引上的值

在PHP中获取同一索引上的值,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我有一个2D数组,想要得到在同一个索引中的所有值,比如在索引“1”中。作为一个新的数组,获得它的最佳方法是什么 示例:我们有数组(数组(1,2,3),数组(5,6,7)),结果必须是数组(2,6) 谢谢一个简单的函数就可以做到这一点: function foobar($array, $index) { $result = array(); foreach($array as $subarray) { if(isset($subarray[$index])) {

我有一个2D数组,想要得到在同一个索引中的所有值,比如在索引“1”中。作为一个新的数组,获得它的最佳方法是什么

示例:我们有
数组(数组(1,2,3),数组(5,6,7))
,结果必须是
数组(2,6)


谢谢

一个简单的函数就可以做到这一点:

function foobar($array, $index) {
    $result = array();
    foreach($array as $subarray) {
        if(isset($subarray[$index])) {
            $result[] = $subarray[$index];
        }
    } 
    return $result;
}
或者您可以只使用
数组映射
(需要PHP5.3):


我在寻找优化的解决方案,比如使用数组映射函数之类的。。。。
function foobar($array, $index) {
    $result = array();
    foreach($array as $subarray) {
        if(isset($subarray[$index])) {
            $result[] = $subarray[$index];
        }
    } 
    return $result;
}
array_map(function($array) { return $array[1]; }, $input);
$myarray=array(array(1,2,3), array(5,6,7));
$index=1;

$result=array();
foreach($myarray as $a) $result[]=$a[$index];

print_r($result);
$sample = array(array(1,2,3),
                array(4,5,6),
                array(7,8,9)
               );
$index = 1;
$result = array_map(function($value) use($index) { return $value[$index]; }, $sample);
var_dump($result);