我正在使用以下循环遍历数组,其中我需要值和键字段。带零值的PHP遍历数组
while ($value = current($a)) {
echo "$value ".key($a).'<br />';
next($a);
}
的问题是,在遍历仅发生直到一个“0”的阵列作为while语句says.Is有什么办法可以遍历具有零个值的数组(数组的大小而定)中遇到和获得价值和关键。
我正在使用以下循环遍历数组,其中我需要值和键字段。带零值的PHP遍历数组
while ($value = current($a)) {
echo "$value ".key($a).'<br />';
next($a);
}
的问题是,在遍历仅发生直到一个“0”的阵列作为while语句says.Is有什么办法可以遍历具有零个值的数组(数组的大小而定)中遇到和获得价值和关键。
使用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 />";
}
使用'foreach'代替:http://php.net/manual/en/control-structures.foreach .php(这是一种更流行的方式来遍历数组而不是while循环)。 – 2012-01-15 11:19:19
与foreach我无法获得关键值 – deXter 2012-01-15 11:23:38
当然,你是。你有没有看过文档? – 2012-01-15 11:24:48