这个问题只是为了好玩和好奇。
编辑:我的问题不同于 How to find the foreach index 因为在我的例子中 $key 已经是一个非数字值。
如果没有在 foreach 范围内递增的 foreach 之外的变量,就像通常的 $i 一样,当 $key 已经命名时,有没有办法获取项目的索引?
例子:
$myNumericIndexArray = ('foo', 'bar', 'go', 'habs');
foreach($myNumericIndexArray as $key => $value){
//Here $key will be 0 -> 1 -> 2 -> 3
}
现在,如果我有:
$myNamedIndexArray = ('foo' => 'bar', 'go' => 'habs', 'CSGO_bestTeam' => 'fnatic');
foreach($myNamedIndexArray as $key => $value){
//Here $key will be foo -> go -> CSGO_bestTeam
}
我可以,而不必:
$i=0;
foreach($myNamedIndexArray as $key => $value){
//Here $key will be foo -> go -> CSGO_bestTeam
$i++;
}
访问命名数组的索引。在 foreach 声明中声明的东西,例如 for 或 $key 的状态?
祝你好运。
最佳答案
如果你真的想要关联数组的索引数组而不是试试这个:
$myNamedIndexArray = ['foo' => 'bar', 'go' => 'habs', 'CSGO_bestTeam' => 'fnatic'];
$keys = array_keys($myNamedIndexArray);
foreach($myNamedIndexArray as $key => $value){
echo array_search($key, $keys);
}
关于php - 命名键时获取 foreach 数字索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923570/