PHP - 反向关联数组

3
我希望获取与其相关的索引值。
假设我有一个'fname' => 'Bear',然后我从用户那里收到了一个值为'Bear'的输入,我想通过关联来识别数据,是否可以构建一个看起来像这样的数组'fname' <=> 'Bear?如果可以,你能给我一些如何使用它的例子吗?
这是我的PHP代码:
$array = array('lname'=>'Teddy', 'fname' => 'Bear'); 

 $user_input = 'Teddy';
 echo $array[$user_input]; // I want this to give me the value of lname
                           // because lname is associated with Teddy

1
array_search()? - D4V1D
或者 array_keysecho array_keys($array, $user_input)[0]; 查看演示 - Jonny 5
2个回答

3

最简单的方法是使用 array_search,如下:

echo array_search('Teddy',$array); // lname

这种方法更加高效,因为它不需要像我的答案那样复制数组。 - phpisuber01
1
是的,但你的回答是另一种选择。@phpisuber01 - Narendrasingh Sisodia

3

一个可能的解决方案是使用 array_flip


$array = array('lname'=>'Teddy', 'fname' => 'Bear');

$user_input = "Teddy";

$flipped = array_flip($array);

echo $flipped[$user_input]; // lname

很酷,从未听说过。谢谢兄弟。 - KennethC

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接