2012-02-14 4 views
0

2D 배열이 있고 같은 인덱스에있는 모든 값을 가져 오려면 인덱스 '1'에 말하고 싶습니다. 이를 새로운 배열로 가져 오는 가장 좋은 방법은 무엇입니까?PHP에서 같은 인덱스에 값을 얻습니다.

예 : array(array(1,2,3), array(5,6,7))이고 결과는 array(2, 6)이어야합니다.

감사

+0

array_map 함수 또는 이와 유사한 것을 사용하는 것과 같이 최적화 된 솔루션을 찾고있었습니다. – Dev

답변

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

array_map을 사용하는 경우 +1입니다. 감사. – Dev

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

$output = array(); 
foreach ($input as $data) { 
    $output[] = $data[1]; 
} 
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); 
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); 
,
관련 문제