如何通过在PHP中的多维数组中提供另一个键值来返回键值?
假设我有一个如下所示的数组:如何通过在PHP中的多维数组中提供另一个键值来返回键值?,php,Php,假设我有一个如下所示的数组: Array ( [0] => Array ( [town_id] => 1 [town_name] => ABC [town_province_id] => 7 ) [1] => Array ( [town_id] => 2 [town_name]
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”
请帮帮我。您可以使用
例如:
$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\u搜索
和array\u列
$key = array_search('DEF', array_column($your_arr, 'town_name'));
$your_arr[$key]['town_id']; // should return DEF
注意:
array\u column
适用于PHP5>=5.5.0您可以在\u array中使用来获得结果
$input = 'DEF';
foreach($array as $key=>$value){
if(in_array($input,$value)){
$town_id = $value['town_id'];
}
}
print_r($town_id);
$input = 'DEF';
foreach($array as $key=>$value){
if(in_array($input,$value)){
$town_id = $value['town_id'];
}
}
print_r($town_id);