在PHP中获取相同索引的值

时间:2012-02-14 13:36:41

标签: php arrays multidimensional-array

我有2D数组,想要获得索引为'1'的所有相同索引的值。什么是将其作为新阵列的最佳方式。

示例:我们有array(array(1,2,3), array(5,6,7)),结果必须为array(2, 6)

由于

4 个答案:

答案 0 :(得分:7)

一个简单的功能可以解决这个问题:

function foobar($array, $index) {
    $result = array();
    foreach($array as $subarray) {
        if(isset($subarray[$index])) {
            $result[] = $subarray[$index];
        }
    } 
    return $result;
}

或者你可以使用array_map(需要PHP 5.3):

array_map(function($array) { return $array[1]; }, $input);

答案 1 :(得分:2)

$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);

答案 2 :(得分:1)

$input = array(
  array(1,2,3),
  array(5,6,7)
);

$output = array();
foreach ( $input as $data ) {
  $output[] = $data[1];
}

答案 3 :(得分:0)

$myarray=array(array(1,2,3), array(5,6,7));
$index=1;

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

print_r($result);