【问题标题】:display series of characters in a string using loops in php使用php中的循环显示字符串中的一系列字符
【发布时间】:2020-04-18 20:33:32
【问题描述】:

我想在 php 中使用循环制作一个系列,例如 1/2 + 3/4 + 5/6 + 7/8 + 9/10 + 11/12 作为字符串。现在写我已经写了这段代码:

$output='';
    for ($i=0; $i < 6; $i++) 
    { 
        $output=$output.($i+1+$i).'/'.($i+2+$i);
        if ($i==5) 
        {
            break;
        }
        else
        {
            $output=$output.'+';
        }
    }
    echo nl2br("\n4: $output");

输出:

1/2 + 3/4 + 5/6 + 7/8 + 9/10 + 11/12

还有其他更好的方法吗?

【问题讨论】:

    标签: php for-loop while-loop


    【解决方案1】:
    preg_replace('/(\d+) \+ (\d+)/', '$1/$2', implode(" + ", range(1, 12)));
    

    https://www.ideone.com/dKUIwc

    【讨论】:

      【解决方案2】:

      代码最少:

      $output = [];
      for ($i = 0; $i < 6; $i++) { 
          $output[] = (2 * $i + 1) . '/' . (2 * $i + 2);
      }
      echo implode(' + ', $output);
      

      【讨论】:

        【解决方案3】:

        从 1 开始循环并进行 2 步而不是 1 步。然后将每个序列放入数组,最后用+ implode它

        $output = [];
        
        for ($i = 1; $i <= 12; $i += 2) {
            $output[] = $i . '/' . ($i + 1); 
        }
        
        echo implode(' + ', $output);
        

        【讨论】:

          【解决方案4】:

          as a string using loops in php. --> 显示为字符串...

          使用 for 循环和 modulus 运算符 %。显示第一个键,一个正斜杠,然后在该条件之外继续迭代并显示下一个键,然后显示一个加号。

          继续迭代,直到您评估该值是否位于数组的末尾。循环中的两个条件。

          我使用了定义为 $i 的迭代器,因为使用 foreach 循环将从零开始,您必须执行一些额外的代码才能获得最后一个值。

          $myArray = array(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16); 
          
          $stmt = NULL;
            for($i = 0; $i < count($myArray); $i++){
              if($myArray[$i] % 2 ){
                $stmt .= $myArray[$i]."/"; 
              }else{
                if($myArray[$i] !== end($myArray)){
                  $stmt .= $myArray[$i].' + ';
                }else{
                  $stmt .= $myArray[$i];
                }
              }
            }
          

          输出:

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2014-05-30
            • 2012-01-23
            • 2013-02-17
            相关资源
            最近更新 更多