Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么在php中运行while循环后没有输出?_Php_Arrays_Next - Fatal编程技术网

为什么在php中运行while循环后没有输出?

为什么在php中运行while循环后没有输出?,php,arrays,next,Php,Arrays,Next,当我运行下面给出的代码时,它在浏览器中不输出任何内容。 我做错了什么?请帮忙 $ages = [0, 4, 8, 12, 16, 20]; while($age = current($ages)){ echo $age.","; next($ages); } 进行的第一个测试是,而(0),因为第一个值是0。因此,循环永远不会执行 您可以使用循环来代替 $ages = [0, 4, 8, 12, 16, 20]; foreach

当我运行下面给出的代码时,它在浏览器中不输出任何内容。 我做错了什么?请帮忙

  $ages = [0, 4, 8, 12, 16, 20];

  while($age = current($ages)){
        echo $age.",";
        next($ages);
  }

进行的第一个测试是
,而(0)
,因为第一个值是0。因此,循环永远不会执行

您可以使用循环来代替

$ages = [0, 4, 8, 12, 16, 20];
foreach ($ages as $age) {
    echo $age . ',';
}
或者只是为了更好的结果(因为它不会有尾随的


进行的第一个测试是
,而(0)
,因为第一个值是0。因此,循环永远不会执行

您可以使用循环来代替

$ages = [0, 4, 8, 12, 16, 20];
foreach ($ages as $age) {
    echo $age . ',';
}
或者只是为了更好的结果(因为它不会有尾随的


为了解决当前的问题,当您在循环的第一次迭代中使用
current($ages)
时,将返回列表中的第一项,即0。由于while循环仅在值不为false(也为0)时继续,因此循环将不会运行,因此

while(($age = current($ages)) !== false){
    echo $age.",";
    next($ages);
}
或者,使用
foreach
循环

foreach ( $ages as $age)    {
    echo $age.",";
}

为了解决当前的问题,当您在循环的第一次迭代中使用
current($ages)
时,将返回列表中的第一项,即0。由于while循环仅在值不为false(也为0)时继续,因此循环将不会运行,因此

while(($age = current($ages)) !== false){
    echo $age.",";
    next($ages);
}
或者,使用
foreach
循环

foreach ( $ages as $age)    {
    echo $age.",";
}

提示:
current($ages)
在第一次迭代中返回什么?提示:
current($ages)
在第一次迭代中返回什么?优秀而快速的解决方案卓越而快速的解决方案