2014-05-13 2 views
0

나는 PHP 5.2.3에서이 배열이 있습니다 만인쇄 다차원 배열에서 특정 값을 포함에만 라인

$a = array (
    array("a","c","1"); 
    array("b","a","2"); 
    array("a","b","3"); 
    array("b","b","4"); 
    array("a","a","5"); 
); 

을 나는 "선택"(또는 새로운 배열을 생성)하고 싶습니다 첫 번째 요소 "a"가있는 행 좋아요 :

"a","c","1" 
"a","b","3" 
"a","a","5" 

어떻게하면됩니까?

편집 :이 오류를 Warning: array_filter() [function.array-filter]: The first argument should be an array in C:\wamp\www\keySearch\test.php on line 13

최종 편집을 얻을

<?php 
    $a = array (
     array("a","c","1"), 
     array("b","a","2"), 
     array("a","b","3"), 
     array("b","b","4"), 
     array("a","a","5"), 
    ); 

    $result = array_filter(
     $array, 
     'testFirst' 
    ); 

    print_r($result); 
?> 

:

<?php 
    $a = array (
     array("a","c","1"), 
     array("b","a","2"), 
     array("a","b","3"), 
     array("b","b","4"), 
     array("a","a","5"), 
    ); 

    function testFirst($value) { 
     return($value[0] == 'a'); 
    } 

    $result = array_filter($a, testFirst); 
    print_r($result); 
?> 
+0

지원되는 PHP 버전으로 업데이트하는 것 외에도 콜백 함수가있는 [array_filter()] (http://www.php.net/manual/en/function.array-filter.php) 각 콜백 값의 첫 번째 요소 값을 테스트합니다. –

+0

배열을 반복하고 각 배열의 첫 번째 요소가''a ''인지 확인합니다. –

답변

4
function testFirst($value) { 
    return($value[0] == 'a'); 
} 

$result = array_filter(
    $a, 
    'testFirst' 
); 
+0

나는 이것을 시도했지만이 오류가 발생한다 ** 경고 : array_filter() [function.array-filter] : 첫 번째 인수는 13 행의 C : \ Wamp \ www \ keySearch \ test.php에 배열이어야한다. ** – Ionut

+0

당신은 배열을 가지고 있습니다. 여러분의 변수는'$ a'입니다. array_filter()의 첫번째 인자로 사용하십시오 .... 편집보기 –

+0

예, 맞습니다. 저의 실수입니다. – Ionut

3

수동으로 수행 할 경우

,
관련 문제