PHP – 获取数组值的键名

我有一个数组如下:

function example() { /* some stuff here that pushes items with dynamically created key strings into an array */ return array( // now lets pretend it returns the created array 'firstStringName' => $whatEver, 'secondStringName' => $somethingElse ); } $arr = example(); // now I know that $arr contains $arr['firstStringName']; 

我需要找出$arr['firstStringName']的索引,以便能够遍历array_keys($arr)并通过其索引返回键string'firstStringName' 。 我怎样才能做到这一点?

如果你有一个值,并想find密钥,使用array_search()像这样:

 $arr = array ('first' => 'a', 'second' => 'b', ); $key = array_search ('a', $arr); 

$key现在将包含值'a' (即'first' )的键。

 key($arr); 

将返回当前数组元素的键值

http://uk.php.net/manual/en/function.key.php

如果我理解正确,你不能简单地使用:

 foreach($arr as $key=>$value) { echo $key; } 

参见PHP手册

如果这个名字是dynamic的,那么你一定有类似的东西

 $arr[$key] 

这意味着$ key包含密钥的值。

您可以使用array_keys()来获取数组的所有键,例如

 $arr = array('a' => 'b', 'c' => 'd') $x = array_keys($arr); 

会给你

 $x = array(0 => 'a', 1 => 'c'); 

是的,你可以实际上PHP是提供这种支持的less数语言之一..

 foreach($arr as $key=>$value) { } 

使用array_keys()来获取所有唯一键的数组。

请注意,像$ arr这样具有命名键的数组也可以使用数字索引进行访问,如$ arr [0]。

http://php.net/manual/en/function.array-keys.php

如果你需要返回一个具有相同值的数组元素,使用array_keys()函数

 $array = array('red' => 1, 'blue' => 1, 'green' => 2); print_r(array_keys($array, 1)); 

这是另一种select

 $array = [1=>'one', 2=>'two', 3=>'there']; $array = array_flip($array); echo $array['one']; 

检查array_keys()函数的文档

array_keys函数

你可以使用PHP的关键function来获得密钥名称:

 <?php $array = array( 'fruit1' => 'apple', 'fruit2' => 'orange', 'fruit3' => 'grape', 'fruit4' => 'apple', 'fruit5' => 'apple'); // this cycle echoes all associative array // key where value equals "apple" while ($fruit_name = current($array)) { if ($fruit_name == 'apple') { echo key($array).'<br />'; } next($array); } ?> 

像这里: PHP:键 – 手动