我正在使用以下循环来遍历我需要值和键字段的数组。
while ($value = current($a)) {
echo "$value ".key($a).'<br />';
next($a);
}
问题是遍历只发生在数组中遇到'0'时,就像while语句所说的那样。我有什么方法可以遍历数组,零值(数组的大小不同)并得到值和键。
答案 0 :(得分:3)
使用key
代替current
作为循环条件,并将其值与null
进行比较:
key()
函数只返回内部指针当前指向的数组元素的键。它不会以任何方式移动指针。如果内部指针指向元素列表末尾或数组为空,则key()
返回NULL
。
while (($key = key($a)) !== null) {
$value = value($a);
echo "$value $key<br />";
next($a);
}
但更方便的方法是使用foreach
代替:
foreach ($a as $key => $value) {
echo "$value $key<br />";
}
答案 1 :(得分:2)