2012-09-18 6 views
0

특정 값을 포함 바로 요소와 새로운 배열을 얻기 :나는 다음과 같은 배열을 가지고

$myArray 
: array = 
    0: array = 
    0: string = 2012 
    1: string = 1 
    2: string = JOHN 
    1: array = 
    0: string = 2012 
    1: string = 2 
    2: string = JOHN 
    2: array = 
    0: string = 2012 
    1: string = 3 
    2: string = MARK 

는 또한 변수 $ 이름을했습니다.

$myArray 
: array = 
    0: array = 
    0: string = 2012 
    1: string = 1 
    2: string = JOHN 
    1: array = 
    0: string = 2012 
    1: string = 2 
    2: string = JOHN 

는 감사 만 :이 시간 $ 이름이 같은 존을 포함 바로 요소와 새로운 배열을 가지고 어떻게해야합니까 무엇 JOHN

에 해당한다고 가정 해 봅시다 !

+0

아무 것도 없지만, 나는 단서입니다. – lleoun

+0

글쎄, 적어도 모든 요소를 ​​반복하는 수동 방법을 시도 했습니까? –

답변

1
function search ($arr, $name){ 
    $result = array(); 
    foreach ($arr as $v) { 
     if ($v[2] == $name) 
      $result[] = $v; 
    } 
    return $result; 
} 

이 함수는 원하는 값만 포함하는 배열을 반환합니다.

2

가장 간단한 방법은 array_filter을 사용자 지정 콜백과 함께 사용하는 것입니다. 이 경우 클로저를 사용하십시오 :

// $name is the variable containing 'JOHN' 
$array2 = array_filter($array1, function($val) use ($name) { 
    return $val[2] === $name; 
}); 
관련 문제