我怎样才能获得当前元素序号,当我遍历数组?PHP - 获得一个元素的索引从阵列
我知道计数(),但我希望有获取当前场指数也内置功能,而无需添加额外的一个计数器变量。
这样的:
foreach($array as $key => value)
if(index($key) == count($array) ....
我怎样才能获得当前元素序号,当我遍历数组?PHP - 获得一个元素的索引从阵列
我知道计数(),但我希望有获取当前场指数也内置功能,而无需添加额外的一个计数器变量。
这样的:
foreach($array as $key => value)
if(index($key) == count($array) ....
foreach() {
$i++;
if(index($key) == $i){}
//
}
他说,无需添加额外的计数器变量 – rideon88 2010-09-21 21:37:28
@rideon OP经常有奇怪的愿望。不要太字面意思;)其实这个应该被接受。 – 2010-09-21 21:56:13
有没有办法让一个位置你真正想要的。
对于关联数组,以确定最后的迭代可以使用已经提到的计数器变量,或首先确定最后一个项目的关键:
end($array);
$last = key($array);
foreach($array as $key => value)
if($key == $last) ....
PHP数组都是整数索引和字符串索引。你甚至可以将它们混合使用:
array('red', 'green', 'white', 'color3'=>'blue', 3=>'yellow');
你想要索引值为'blue'
?是3吗?但是,这实际上是价值'yellow'
的指数,所以这将是一个歧义。
为你的另一个解决方案是强迫数组值的整数索引的列表。
foreach (array_values($array) as $i => $value) {
echo "$i: $value\n";
}
输出:
0: red
1: green
2: white
3: blue
4: yellow
阵列不包含索引当元件是可结合的。 PHP中的数组可以包含混合值是这样的:
$var = array("apple", "banana", "foo" => "grape", "carrot", "bar" => "donkey");
print_r($var);
为您提供:
Array
(
[0] => apple
[1] => banana
[foo] => grape
[2] => carrot
[bar] => donkey
)
什么是你想实现的,因为你需要在一个关联数组的索引值?
function Index($index) {
$Count = count($YOUR_ARRAY);
if ($index <= $Count) {
$Keys = array_keys($YOUR_ARRAY);
$Value = array_values($YOUR_ARRAY);
return $Keys[$index] . ' = ' . $Value[$index];
} else {
return "Out of the ring";
}
}
echo 'Index : ' . Index(0);
更换($ YOUR_ARRAY)
这有什么错用'$ key'? – BoltClock 2010-09-21 21:32:07
$关键是在我的情况的字符串。反正我只是想知道如果有一个PHP函数,可以得到场指数。如果没有,我只需要使用$ i计数器... – Alex 2010-09-21 21:33:47
对于数组中键的数组元素的索引不匹配的情况,我相信Alex想获得当前索引。例如:'a =>苹果,b =>香蕉':那么'index(b)'会返回'1'。 – 2010-09-21 21:34:25