【问题标题】:PHP - Best way to print multiplication table [closed]PHP - 打印乘法表的最佳方法[关闭]
【发布时间】:2015-05-14 00:15:34
【问题描述】:

基本的 PHP。我决定打印一个 17.5 的 10 个倍数的列表,例如:

17.5 | 35 | 52.5 | 70 | 87.5 | 105 | 122.5 | 140 | 157.5 | 175 |

所以我首先使用了这个循环:

<?php
$number = 17.5;
$result = 0;
$i = 0;
while ($i < 10) {
  $result += $number;
  echo $result.' | ';
  $i++;  }

嗯,它有效。然后我切换到这个,那是相当短的:

$i = 1;
$result = 17.5;
while ($i <= 10) {
  echo $result * $i.' | ';
  $i++;  }

但我确信有更好的方法。最好的语法是什么?

【问题讨论】:

  • 最好的语法是最容易阅读的。

标签: php list loops multiplication


【解决方案1】:
$results = array();
for ($i = 1; $i <= 10; $i++){
    $results[] = $i * 17.5;
}
echo implode(' | ', $results);

或者更好

echo implode(' | ', range(17.5, 17.5*10, 17.5));

【讨论】:

  • 我喜欢这不会在末尾添加管道
【解决方案2】:

有许多更快的方法可以实现这一点。以这个简单的for 循环为例:

$num = '17.5';

for($i = 1; $i <=10; $i++) {
    $array[] = $i * $num; 
}
echo implode(' | ', $array);

Example

【讨论】:

    【解决方案3】:
    $result = 17.5;
    for($i=1; $i<=10; $i++){
        echo  ($i * $result) .' | ';
    }
    

    【讨论】:

      【解决方案4】:

      我最喜欢我的:

      $s = $t = '17.5';
      while($s < $t*10){
          echo ($s += $t).' | ';
      }
      

      【讨论】:

      • 哇,我喜欢这个逻辑
      猜你喜欢
      • 2011-12-07
      • 2010-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-03
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多