php:如何从数字索引获得关联数组键?
你不知道。您的阵列没有密钥[1]
。你可以:
-
创建一个新的数组,其中包含关键字:
$newArray = array_keys($array); echo $newArray[0];
但值 “一” 是
$newArray[0]
,不[1]
。
快捷方式将是:echo current(array_keys($array));
-
获取阵列的第一项:
reset($array); echo key($array);
-
获取对应于值 “值” 键:
echo array_search('value', $array);
这一切都取决于你想要做什么。事实上,[1]
不对应“one”任何方式你打开它。
制作新阵列我认为是最好的 – 2018-01-20 16:09:49
$array = array('one' =>'value', 'two' => 'value2');
$allKeys = array_keys($array);
echo $allKeys[0];
将输出:
one
@KennyTM(结果:http://www.ideone.com/pFh0o)是一个死链接 – 2014-04-03 06:08:49
$array = array('one' =>'value', 'two' => 'value2');
$keys = array_keys($array);
echo $keys[0]; // one
echo $keys[1]; // two
你可能会做这种方式:
function asoccArrayValueWithNumKey(&$arr, $key) {
if (!(count($arr) > $key)) return false;
reset($array);
$aux = -1;
$found = false;
while (($auxKey = key($array)) && !$found) {
$aux++;
$found = ($aux == $key);
}
if ($found) return $array[$auxKey];
else return false;
}
$val = asoccArrayValueWithNumKey($array, 0);
$val = asoccArrayValueWithNumKey($array, 1);
etc...
有没有tryed的代码,但我敢肯定它会工作。
祝你好运!
如果你只打算在特定的一个重点工作,你可以用一条线做到这一点,而不必存储阵列的所有键:
echo array_keys($array)[$i];
在Ram Dane的回答中展开,key函数是获取数组当前索引键的另一种方法。您可以创建以下功能,
function get_key($array, $index){
$idx=0;
while($idx!=$index && next($array)) $idx++;
if($idx==$index) return key($array);
else return '';
}
换句话说,这是关于返回关联数组的第n个数组键。 – 2013-02-12 13:37:41