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'
)的键。
如果我理解正确,你不能简单地使用:
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]。
如果你需要返回一个具有相同值的数组元素,使用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:键 – 手动