如何返回匹配键值中的第一个



我有一个数组,我想搜索一个特定的值,然后返回键。然而,很可能会有多个匹配的值。从第一个匹配值返回密钥的最佳方式是什么?

$agent_titles = array(
'agent_1' => sales,
'agent_2' => manager, // The key I want to return
'agent_3' => manager,       
'agent_4' => director;
);
if (false !== $key = array_search('manager', $agent_titles)) {
return $key;
} else {
return;
}

在这种情况下,我希望返回"agent_2"。提前感谢!

使用array_search是最好的解决方案
但尽量简单地编写代码

$agent_titles=[
'agent_1'=>'sales',
'agent_2'=>'manager',
'agent_3'=>'manager',
'agent_4'=>'director',
];
return array_search('manager',$agent_titles);
public function blahblah($search_value = 'manager') {
$agent_titles = [
'agent_1' => sales,
'agent_2' => manager,
'agent_3' => manager,       
'agent_4' => director,
];
foreach($array as $key => $value){
if($value == $search_value){
return $key;
}
}
return false;
}
function getKeyByValue($input, $array) {
foreach ( $array as $key => $value ) { 
if ( $input == $value ) {
return $key;
}
}
}
$agent_titles = array(
'agent_1' => 'sales',
'agent_2' => 'manager',
'agent_3' => 'manager',       
'agent_4' => 'director'
);
var_dump(getKeyByValue('manager', $agent_titles));

最新更新