2010-05-20 4 views
0

PHP 배열에 "where"문을 적용 할 수 있습니까? MySQL 쿼리에 "where"문을 적용하는 방법과 비슷합니까?PHP 배열을 사용하여 "Where"문을 설정하는 방법

$recordset = array(
array('host' => 1, 'country' => 'fr', 'year' => 2010, 
    'month' => 1, 'clicks' => 123, 'users' => 4), 
array('host' => 1, 'country' => 'fr', 'year' => 2010, 
    'month' => 2, 'clicks' => 134, 'users' => 5), 
array('host' => 1, 'country' => 'fr', 'year' => 2010, 
    'month' => 3, 'clicks' => 341, 'users' => 2), 
array('host' => 1, 'country' => 'es', 'year' => 2010, 
    'month' => 1, 'clicks' => 113, 'users' => 4), 
array('host' => 1, 'country' => 'es', 'year' => 2010, 
    'month' => 2, 'clicks' => 234, 'users' => 5), 
array('host' => 1, 'country' => 'es', 'year' => 2010, 
    'month' => 3, 'clicks' => 421, 'users' => 2), 
array('host' => 1, 'country' => 'es', 'year' => 2010, 
    'month' => 4, 'clicks' => 22, 'users' => 3), 
array('host' => 2, 'country' => 'es', 'year' => 2010, 
    'month' => 1, 'clicks' => 111, 'users' => 2), 
array('host' => 2, 'country' => 'es', 'year' => 2010, 
    'month' => 2, 'clicks' => 2, 'users' => 4), 
array('host' => 3, 'country' => 'es', 'year' => 2010, 
    'month' => 3, 'clicks' => 34, 'users' => 2), 
array('host' => 3, 'country' => 'es', 'year' => 2010, 
    'month' => 4, 'clicks' => 1, 'users' => 1),); 

가 어떻게은 '호스트'1 '국가'FR 관련된 키와 값을 표시 출력을 제한 할 수 있습니다

예를 들어, 나는 다음과 같은 배열이 있다고 가정?

어떤 도움도 좋은 것입니다.

답변

3

array_filter()을 사용하면 특정 테스트를 통과 한 원본 요소 만 포함하는 새 배열을 얻을 수 있습니다. 테스트를 요소를 취하고 참 또는 거짓을 반환하는 함수로 정의한 다음 배열과 함수 (또는 함수 이름)를 array_filter에 전달하십시오.

매뉴얼 페이지의 예제는 어떻게 작동하는지 분명히해야합니다.

0

Amber가 말한 것처럼 array_filter는 이상적입니다. 람다와 함께 사용하면 상당히 간결하게 만들 수 있습니다.

$output = array_filter($recordset, 
      function($el){return $el["host"] == 1 && $el["country"] == 'fr';}); 
관련 문제