2016-08-14 2 views
-2

내가 다차원 배열과 같이 있습니다의 값으로 배열을 찾기

$a = array(
    'potatoe'=> array(
     'weight'=>24, 
     'label'=>'kon', 
     'year'=>2001, 

    ), 

    'apple'=> array(
     'weight'=>55, 
     'label'=>'krakat', 
     'year'=>1992, 
    ) 
); 

난 단지 무게를 알고있을 때 나는 (그 값) 과일 이름을 검색 할 수있는 방법을 찾고는 55이며, 연도는 1992입니다. 그렇게하는 방법? 이 같은

+4

간단한 foreach 루프를! – Rizier123

+0

'array_search' 또는 기타와 같은 것이 있으면 관심이있었습니다 –

+2

아니요, PHP는'hammer()'또는'screwdriver()'와 같은 함수를 제공하지만, 당신이 원하는 것과 같은 기능을 제공하지는 않습니다 'build_me_a_pink_house()'. 물론 망치와 스크루 드라이버로 분홍색 집을 지을 수는 있습니다. – Rizier123

답변

0

당신은 foreach 문을 사용하여 반복 및 모든 요소를 ​​테스트해야합니다.

function findFruit($array,$weight, $year){ 
    foreach($array as $key => $fruit){ 
     if($fruit['weight'] == $weight && $fruit['year'] == $year){ 
      return $key; 
     } 
    } 
} 

는, 단지 기능을 사용

:

$theFruit = $a[findFruit($a,55,1992)]; 
1

뭔가 아마도

foreach ($a as $key => $value) { 
    if ($value['weight'] == 55 && $value['year'] == 1992) { 
     echo $key; 
    } 
} 

출력

apple 
+1

같은 타입을 올바르게 비교할 때'==' – C2486

+0

을'==='사용하지 않으려 고합니다. (문자열을 문자열로, int에서 int로) –