我有以下数组:
$array = array(
[45] => [
account_id => 1
],
[75] => [
account_id => 2
]
)
我有以下PHP代码:
$key = array_search(1, array_column($array, 'account_id'));
当我执行var_dump($ key)时,输出为int(0)。但是我需要“ 45”(如果account_id 2为“ 75”)。
该问题的解决方案是什么?
答案 0 :(得分:1)
您可以使用array_combine()
合并值和键。
$array = array(
45 => [
'account_id' => 1
],
75 => [
'account_id' => 2
]
);
$key = array_search(1, array_combine( array_keys( $array ), array_column ( $array , 'account_id' ) ) );
这将导致:45
答案 1 :(得分:0)
你可以做
$res=false;$srch=1;
foreach ($array as $key=>$val){
if ($val['account_id']===$srch) {$res=$key; break;}
}
echo $res;
答案 2 :(得分:0)
您还可以使用array_filter并使用key从结果中获取第一个键:
$array = array_filter($array, function($x) {
return $x["account_id"] === 1;
});
echo key($array); //45