![](/img/trans.png)
[英]PHP Search multidimensional associative array by key and return key => value
[英]How do I return a key value by providing another key value in a multidimensional array in 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
)
)
我想在上面的數組中提供值“ DEF”,並返回值“ 2”。
請幫我。
您可以使用in_array
獲得結果。
$input = 'DEF';
foreach($array as $key=>$value){
if(in_array($input,$value)){
$town_id = $value['town_id'];
}
}
print_r($town_id);
您可以將array_search與array_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
使用array_search
和array_column
$key = array_search('DEF', array_column($your_arr, 'town_name'));
$your_arr[$key]['town_id']; // should return DEF
注意: array_column
從PHP 5> = 5.5.0開始工作
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.