【问题标题】:Group items in array every 5 items and add a dash in php每 5 个项目对数组中的项目进行分组,并在 php 中添加一个破折号
【发布时间】:2017-06-20 19:09:41
【问题描述】:

我正在构建一个循环,在我的脑海中将输出一组项目除以 5 个数字的范围。我尝试了一些函数,如范围、排序、内爆,但我还没有找到合适的解决方案。

到目前为止,我的代码如下:

foreach (range(0, 100, 5) as $number) {
  echo $number;
  print implode("-", str_split($number));
}

我的目标是输出如下内容:

1-5
5-10
10-15

等等,我可以将其与任何事物相关联,因此本质上是一个数字范围,每个数字都有一定数量。

另外我不确定它是否是正确的循环。

我想我可以使用 for 循环获得几乎相同的结果:

for($i = 0; $i < 100; $i+=5)
{
     implode("-", str_split($i));
}

我的错在哪里?

更新 我可能忘记提及所有内容都在一个选择项中:

<select class="drops" name="largesan">
    <option selected value> -- How Many Sandwiches? -- </option><?php
    foreach (range(0, 100, 5) as $numbers)
    {
        $mynumber = $numbers . '-' . $numbers + 5;
        ?>
        <option value="<?php echo $numbers;?>"><?php echo $mynumber;?></option>
        <?php
    }
    ?>
</select>

【问题讨论】:

    标签: php arrays for-loop foreach grouping


    【解决方案1】:

    你可以使用这种类型的 foreach

      foreach (range(0, 90, 5) as $number) {
        $myStr = $number . '-'. $number + 5 ;
        echo '<option value="'. $myStr .'">'. $myStr.'</option>' ;
    
      }
    

    这是你应该使用的代码..

    select class="drops" name="largesan"> 
      <option selected value> -- How Many Sandwiches? -- </option>
        <?php 
            foreach (range(0, 90, 5) as $number) { 
    
                  $myStr = $number . '-'. $number + 5 ; 
                  echo '<option value="'.  $myStr. '">'. $myStr .'</option>' ;
            }
    
         ?> 
     </select>
    

    【讨论】:

    • 什么是“不工作”......你有错误吗? ... 错误的结果? ... 没有结果 ? ...不工作在编码不是一个有效的信息..
    • 当然,抱歉:输出是:0 5 10 15 并且一直持续到 105
    • 问题是105?
    • 不,我需要输出这个:一组两个数组项,如 1-5、5-10、10-15 直到 100
    • 这……什么?
    【解决方案2】:

    选择项中的答案是:

    <select class="drops" name="largesan">
        <option selected value> -- How Many Sandwiches? -- </option><?php
        foreach (range(0, 95, 5) as $numbers)
        {
            $mynumber = $numbers . '-' . $numbers + 5;
            ?>
            <option value="<?php echo $mynumber;?>"><?php echo $numbers .'-'. $mynumber;?></option>
            <?php
        }
        ?>
    </select>
    

    这意味着一个循环打印一定范围的数字,例如从 0 到 100,另一个例子是 5 个数字,如下所示:

    foreach (range(0, 95, 5) as $numbers) {
    $mynumber = $numbers . '-' . $numbers +5;
    echo $numbers . '-' .mynumber;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 1970-01-01
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-25
      相关资源
      最近更新 更多