PHP查找元素键

时间:2009-10-28 16:47:29

标签: php arrays key

我有这个数组

Array
(
  [0] => a
  [1] => b
  [2] => c
  [3] => d
)

我如何获得元素的键?(例如a = 0,c = 2)

6 个答案:

答案 0 :(得分:4)

<?php
$trans = array("a" => 1, "b" => 1, "c" => 2);
$trans = array_flip($trans);
print_r($trans);
?>

http://www.php.net/manual/en/function.array-flip.php

使用array_search http://php.net/manual/en/function.array-search.php

<?php
$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 :(得分:3)

使用array_search()

  

在数组中搜索给定值,如果成功则返回相应的键。

     

示例#1 array_search()示例

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

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

答案 2 :(得分:0)

如果要搜索,请参阅array_search(http://www.php.net/manual/en/function.array-search.php

如果您正在迭代它,可以使用各种语法:

foreach ($a as $key => $value) { ... }
foreach (array_keys($a) as $key) { $value = $a[$key]; ... }

答案 3 :(得分:0)

array_keys

array_keys($arr, 'a');         # 0
array_keys($arr, 'c');         # 2

答案 4 :(得分:0)

如果您只想使用密钥array_keys

如果您想像示例中所示那样翻转数组,请使用array_flip

答案 5 :(得分:0)

我个人喜欢@SilentGhost的解决方案,但是如果你进行多次搜索,你会受到速度惩罚,此时你需要以下内容:

// assume you know you want the value for key 'c'
$array = ('a','b','c','d');
$keys = array_flip($array);
return $keys['c'];