2017-08-31 63 views
0

假設我有類似下面的數組:如何通過在PHP中的多維數組中提供另一個鍵值來返回鍵值?

Array 
(
    [0] => Array 
     (
      [town_id] => 1 
      [town_name] => ABC 
      [town_province_id] => 7 
     ) 

    [1] => Array 
     (
      [town_id] => 2 
      [town_name] => DEF 
      [town_province_id] => 4 
     ) 

    [2] => Array 
     (
      [town_id] => 3 
      [town_name] => GHI 
      [town_province_id] => 2 
     ) 
    ) 

我想在上述陣列和返回值「2」提供值「DEF」。

請幫幫我。

回答

0

你可以用in_array來得到你的結果。

$input = 'DEF'; 
foreach($array as $key=>$value){ 
    if(in_array($input,$value)){ 
      $town_id = $value['town_id']; 
    } 
} 
print_r($town_id); 
0

您可以使用array_searcharray_column

$key = array_search('DEF', array_column($array, 'town_name')); 

例子:

$data = array(array('town_id' => 1, 'town_name' => 'ABC'), array('town_id' => 2, 'town_name' => 'DEF')); 
print_r($data); 

$key = array_search('DEF', array_column($data, 'town_name')); 

print_r($data[$key]['town_id']); // it will have 2 
0

使用array_searcharray_column

$key = array_search('DEF', array_column($your_arr, 'town_name')); 

$your_arr[$key]['town_id']; // should return DEF 

注:從PHP 5 array_column作品> = 5.5.0

相關問題