如何从相应的数组值获取数组键?

时间:2010-06-02 17:36:38

标签: php arrays

您可以通过它的键轻松获取数组值:$value = array[$key]但是如果我有值并且我想要它的键怎么办?获得它的最佳方式是什么?

5 个答案:

答案 0 :(得分:61)

您可以使用array_search()查找第一个匹配的密钥。

从手册:

$array = array(0 => 'blue', 1 => 'red', 2 => 'green', 3 => 'red');

$key = array_search('green', $array); // $key = 2;
$key = array_search('red', $array);   // $key = 1;

答案 1 :(得分:15)

您可以使用 array_keys 功能。

示例:

$array = array("blue", "red", "green", "blue", "blue");
print_r(array_keys($array, "blue"));

这将从值blue

的数组中获取密钥

答案 2 :(得分:4)

$arr = array('mango', 'orange', 'banana');
$a = array_flip($arr);
$key = $a['orange'];

答案 3 :(得分:0)

没有非常简单的方法。循环键,直到找到数组[$ key] == $ value

如果经常这样做,请创建一个反向数组/哈希,将值映射回键。请记住,多个键可能会映射到单个值。

答案 4 :(得分:0)

您的数组值可能重复,因此它不会为您提供准确的键。然而,我认为很好的方式就像迭代并读取密钥