hea*_*der 139 php arrays array-key
我有一个数组如下:
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'];
Run Code Online (Sandbox Code Playgroud)
我需要找出索引,$arr['firstStringName']以便我能够循环array_keys($arr)并'firstStringName'通过其索引返回键字符串.我怎样才能做到这一点?
zrv*_*van 298
如果您有值并想要找到密钥,请使用array_search()如下:
$arr = array ('first' => 'a', 'second' => 'b', );
$key = array_search ('a', $arr);
Run Code Online (Sandbox Code Playgroud)
$key现在将包含值的键'a'(即'first').
Mar*_*ker 56
key($arr);
Run Code Online (Sandbox Code Playgroud)
将返回当前数组元素的键值
http://uk.php.net/manual/en/function.key.php
rwb*_*rwb 37
如果我理解正确,你不能简单地使用:
foreach($arr as $key=>$value)
{
echo $key;
}
Run Code Online (Sandbox Code Playgroud)
请参阅PHP手册
Mar*_*c B 18
如果名称是动态的,那么你必须有类似的东西
$arr[$key]
Run Code Online (Sandbox Code Playgroud)
这意味着$ key包含密钥的值.
您可以使用array_keys()获取数组的所有键,例如
$arr = array('a' => 'b', 'c' => 'd')
$x = array_keys($arr);
Run Code Online (Sandbox Code Playgroud)
会给你的
$x = array(0 => 'a', 1 => 'c');
Run Code Online (Sandbox Code Playgroud)
Raj*_*hal 16
是的,你可以infact php是为数不多的提供此类支持的语言之一.
foreach($arr as $key=>$value)
{
}
Run Code Online (Sandbox Code Playgroud)
如果您需要返回具有相同值的数组元素,请使用array_keys()function
$array = array('red' => 1, 'blue' => 1, 'green' => 2);
print_r(array_keys($array, 1));
Run Code Online (Sandbox Code Playgroud)
小智 8
这是另一种选择
$array = [1=>'one', 2=>'two', 3=>'there'];
$array = array_flip($array);
echo $array['one'];
Run Code Online (Sandbox Code Playgroud)
用于array_keys()获取所有唯一键的数组.
请注意,具有像您这样的命名键的数组$arr也可以使用数字索引来访问,例如$arr[0].
http://php.net/manual/en/function.array-keys.php
你可以使用php的key函数来获取key名:
<?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);
}
?>
Run Code Online (Sandbox Code Playgroud)
像这里:PHP:key - 手册