Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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_Loops_While Loop - Fatal编程技术网

PHP:while循环是无限的

PHP:while循环是无限的,php,loops,while-loop,Php,Loops,While Loop,我只想看看名单上的猪、鸡、牛和蛇。。 但是它只是无限地循环单词pig…这应该通过使用$i++将$i变量增加1来循环数组 <?php $animals = array('pig', 'chicken', 'cow', 'snake'); $i = 0; while ($i < 10) { echo "<li>$animals[$i]</li>"; } ?> 这应该通过使用$i++循环数组,将$i变量递增一 <?php $animals

我只想看看名单上的猪、鸡、牛和蛇。。
但是它只是无限地循环单词pig…

这应该通过使用
$i++
$i
变量增加1来循环数组

<?php 
$animals = array('pig', 'chicken', 'cow', 'snake');
$i = 0;
while ($i < 10)
{
    echo "<li>$animals[$i]</li>";
}
?>

这应该通过使用
$i++
循环数组,将
$i
变量递增一

<?php 
$animals = array('pig', 'chicken', 'cow', 'snake');
$i = 0;
while ($i < 10)
{
    echo "<li>$animals[$i]</li>";
}
?>

我添加了$I++;在循环中,每次将$i的值增加一个,因此我们可以显示数组的每个元素,也可以在初始值中查找数组的长度,以避免数组越界问题

<?php 
 $animals = array('pig', 'chicken', 'cow', 'snake');
 $i = 0;
while ($i < 4) {
    echo "<li>$animals[$i]</li>";
    $i++;
 }
 ?>


首先计算数组的长度,然后根据长度迭代循环。

我添加了$I++;在循环中,每次将$i的值增加一个,因此我们可以显示数组的每个元素,也可以在初始值中查找数组的长度,以避免数组越界问题

<?php 
 $animals = array('pig', 'chicken', 'cow', 'snake');
 $i = 0;
while ($i < 4) {
    echo "<li>$animals[$i]</li>";
    $i++;
 }
 ?>


首先计算数组的长度,然后根据长度迭代循环。

您也可以使用foreach来完成此操作

<?php 
 $animals = array('pig', 'chicken', 'cow', 'snake');
 $i = 0;
 $len = count($animals);
    while ($i < $len) 
    {
       echo "<li>$animals[$i]</li>";
       $i++;
    }

 ?>
$anives=array('pig'、'chicken'、'cow'、'snake');
foreach($动物为$动物)
回声“
  • {$animal}
  • ”;
    您也可以使用foreach来执行此操作

    <?php 
     $animals = array('pig', 'chicken', 'cow', 'snake');
     $i = 0;
     $len = count($animals);
        while ($i < $len) 
        {
           echo "<li>$animals[$i]</li>";
           $i++;
        }
    
     ?>
    
    $anives=array('pig'、'chicken'、'cow'、'snake');
    foreach($动物为$动物)
    回声“
  • {$animal}
  • ”;
    您没有向
    $i
    添加增量。通过在
    while
    循环中添加
    $i++
    ,可以将增量添加到
    $i

    $animals = array('pig', 'chicken', 'cow', 'snake');
    foreach($animals as $animal)
    echo "<li>{$animal}</li>";
    

    您没有向
    $i
    添加增量。通过在
    while
    循环中添加
    $i++
    ,可以将增量添加到
    $i

    $animals = array('pig', 'chicken', 'cow', 'snake');
    foreach($animals as $animal)
    echo "<li>{$animal}</li>";
    
    
    
    
    

    我确实喜欢while循环,所以这里还有一个用于混合的循环!:)

    
    

    它用于获取数组的每个值,当到达数组末尾终止
    while
    循环时,返回false。您不需要使用
    $i
    来控制获取数组元素,也不需要在循环中使用额外的
    if
    语句来检查元素是否存在我确实喜欢while循环,因此这里还有一个用于混合的语句:)

    
    

    它用于获取数组的每个值,当到达数组末尾终止
    while
    循环时,返回false。您不需要使用
    $i
    控制获取数组元素,也不需要额外的
    if
    语句在循环中检查元素是否存在您没有增加
    $i
    值,因此它始终是
    $i=0所以它总是在10以下

    添加
    $i++
    以使其递增以避免此问题,但是使用此代码会遇到另一个新问题,因为数组只有3个元素,而在while循环中使用了10个元素

    <?php
    $animals = array('pig', 'chicken', 'cow', 'snake');
    while ($animal = next($animals)) {
        echo "<li>$animal[$i]</li>";
    }
    ?>
    

    您没有增加
    $i
    值,因此它始终是
    $i=0所以它总是在10以下

    添加
    $i++
    以使其递增以避免此问题,但是使用此代码会遇到另一个新问题,因为数组只有3个元素,而在while循环中使用了10个元素

    <?php
    $animals = array('pig', 'chicken', 'cow', 'snake');
    while ($animal = next($animals)) {
        echo "<li>$animal[$i]</li>";
    }
    ?>
    
    
    

    不要只发布代码,告诉我们您做了哪些更改和改进。没有If语句,您能做到吗?我的意思是只是使用while。不要只是发布代码,告诉我们你改变和改进了什么。没有If语句你能做到吗?我的意思是只是使用while。不要只是发布代码,告诉我们你改变和改进了什么。不要只是发布代码,告诉我们你改变和改进了什么。哇,它真的需要4个完全相同的答案吗?正如@AnkurTiwari指出的,
    $I++,您应该将循环语句修改为
    while($i
    。Ankur的回答中也有
    count($animals)
    语句,但没有任何解释或
    i++
    $i++
    $i
    添加一个,这样
    $i
    就不会永远停留在
    0
    上。另外,为了防止越界未定义的行为邪恶,我使用了
    count($animals)
    。不要没有定义@是的,完全同意。谢谢你的解释。更新了我的答案。$我总是低于10,这就是为什么它在做无限循环。您应该在while语句中添加increment来停止循环。哇,它真的需要4个完全相同的答案吗?正如@AnkurTiwari指出的,
    $i++,您应该将循环语句修改为
    while($i
    。Ankur的回答中也有
    count($animals)
    语句,但没有任何解释或
    i++
    $i++
    $i
    添加一个,这样
    $i
    就不会永远停留在
    0
    上。另外,为了防止越界未定义的行为邪恶,我使用了
    count($animals)
    。不要没有定义@是的,完全同意。谢谢你的解释。更新了我的答案。$我总是低于10,这就是为什么它在做无限循环。您应该在while语句中添加increment来停止循环。您可以不使用$i++来停止循环吗?请检查下面的代码@Sunny have post code without while。如果不更改$i变量,就不可能中断循环。我有一个类似的代码,但它没有使用此[id]提取所有assoc数据。有人可以帮助查看一下,看看这有什么问题吗$res=$dbCon->query(“从ListingAdministries中选择*,其中listingId='$listingId'按id描述排序”);而($data=$res->fetch_assoc()){$propertyAmenities=$data['propertyAmenities'];echo“$propertyAmenities
    ”;在没有更多可用项之前,它不会循环相同listingId下的项目。它只显示1,第一个。确保在相同的
    listingId下有更多的条目
    您可以不使用$i++?检查下面的代码@Sunny have post code wi