【问题标题】:Interrupting foreach loop to add additional text中断 foreach 循环以添加其他文本
【发布时间】:2011-02-11 00:07:21
【问题描述】:

我试图弄清楚如何在 foreach 循环内的特定点放置额外的文本,所以我的 php 的输出将是:

阿拉巴马阿拉斯加亚利桑那阿肯色SomeNewText 加利福尼亚科罗拉多康涅狄格等等等等等

继续;并打破;在这种情况下似乎不起作用。我不想停止/退出 foreach 循环。

<?php

$items = array("Alabama", "Alaska", "Arizona", "Arkansas", "California", "Colorado", "Connecticut", "Delaware", "Dist of Columbia", "Florida", "Georgia", "Hawaii", "Idaho", "Illinois", "Indiana", "Iowa", "Kansas", "Kentucky", "Louisiana", "Maine", "Maryland", "Massachusetts", "Michigan", "Minnesota", "Mississippi", "Missouri", "Montana", "Nebraska", "Nevada", "New Hampshire", "New Jersey", "New Mexico", "New York", "North Carolina", "North Dakota", "Ohio", "Oklahoma", "Oregon", "Pennsylvania", "Rhode Island", "South Carolina", "South Dakota", "Tennessee", "Texas", "Utah", "Vermont", "Virginia", "Washington", "West Virginia", "Wisconsin", "Wyoming");


$count = 0;

foreach ($items as $item) 
{

if ($count == 3)
{
echo 'SomeNewText';
}

echo $item;
echo "\n";

$count++;

}

?>

有什么想法吗?谢谢。

【问题讨论】:

  • 你的标题和你的文字看起来像是单独的问题。是否要在 count 达到 3 时退出 foreach 循环?
  • 你绝对不想要一个继续。 Aaand 是的,你需要关闭你的 foreach 循环。除此之外,代码应该可以完成这项工作。
  • 不,我不想退出 foreach 循环:我想在循环中的某个位置注入额外的文本。
  • 该代码不起作用,因为它不止一次输出“SomeNewText”:在第 4、第 10 等位置:阿拉巴马州阿拉斯加州亚利桑那州 SomeNewText 阿肯色州科罗拉多州康涅狄格州特拉华州哥伦比亚佛罗里达州 SomeNewText 区跨度>

标签: php loops foreach


【解决方案1】:

这个逻辑看起来不错,除了你需要关闭你的 foreach 循环。

$count = 0;
foreach ($items as $item) 
{

 if ($count == 3)
 {
 echo '<td>SomeNewText</td>';
 #continue;
 }

 echo $item;
 echo "\n";

 $count++;
}

或者,您可以使用 for 循环。

【讨论】:

    【解决方案2】:

    如果您的意思是在满足条件时脱离循环,您可以这样做:

    <?php
    foreach ($items as $item) {
      if ($count == 3) {
        break;
      }
    }
    ?>
    

    【讨论】:

    • 不,我想循环遍历整个数组,但我还希望能够在输出中间的某处添加一些文本。
    【解决方案3】:

    好吧,不确定你想要解决什么问题,但你的代码中有一个错误,你需要关闭 foreach 循环,这应该会给你想要的结果。

    echo $item;
    echo "\n";
    
    $count++;
    
    } <-- here is missing 
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-08-30
      • 1970-01-01
      • 2016-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多