2014-09-15 5 views
1

배열의 값 중 일부로 배열 키를 가져오고 싶습니다.값으로 배열 키 가져 오기 - 다차원 배열

나는 array_search을 시도했지만 이것이 다차원 배열에 도움이되지 않았습니다.

예를 들어, 나는 이런 종류의 배열을 가지고 있으며 배열의 모든 키를 얻을 필요가 있습니다. personal_code = 12345678910. 첫 번째와 두 번째 배열이 personal_code 12345678910이기 때문에이 예제에서는 array(0,1)을 얻어야합니다.

어떻게 그 키를 얻을 수 있습니까?

Array 
(
    [0] => Array 
    (
    [id] => 32155 
    [personal_code] => 12345678910 
    [cadaster] => 12345:321:1234 
    [purpose] => Purpose 1 
    [address] => Blah blah 1 
    [area] => 600m2 
) 

    [1] => Array 
    (
    [id] => 14131 
    [personal_code] => 12345678910 
    [cadaster] => 12345:123:4321 
    [purpose] => Purpose 2 
    [address] => Blah blah 3 
    [area] => 1200m2 
) 

    [2] => Array 
    (
    [id] => 32303 
    [personal_code] => 54321678910 
    [cadaster] => 12345:123:1234 
    [purpose] => Purpose 3 
    [address] => Blah blah 2 
    [area] => 1800m2 
) 
) 

답변

1

간단한 foreach를 사용하여 해당 키를 얻을 수 있습니다. 예 :

$find = '12345678910'; 
$keys = array(); 
foreach($your_array as $key => $values) { // loop your array 
    // now values will hold each array batch inside that parent array 
    if($values['personal_code'] == $find) { // so it if matches 
     $keys[] = $key; // then put it inside 
    } 
} 

echo '<pre>'; 
print_r($keys); 

Sample Demo

1
$newArr = array(); 
foreach ($yourArr as $arr) 
{ 
    if($arr['personal_code']==12345678910) 
    { 
    $newArr []=$arr; 
    } 
} 
print_r($newArr);