有问题一起使用for循环和数组

时间:2016-07-13 19:43:35

标签: php

PHP:这是我应该完成的。以下是我的代码。我肯定错过了一些东西......

使用打印“前10个数字的乘积”的数组写一个FOR循环,后跟数字1到10的乘积。这里有一个提示:不要在0处开始计数器,否则产品将为零!

<?php
$numbers = 0;
$numbers = range(1 , 10);
$arrlength = count($numbers);
for ($x = 1; $x <= $arrlength; $x++) {
$numbers[$x] = $numbers + $x;
}
echo "The product of first 10 numbers is $numbers.<br>";

?>

2 个答案:

答案 0 :(得分:4)

基本上你正在做的是为有限的案例创建一个阶乘函数。您实现的问题是,您似乎重新使用$numbers变量,它应该是一个变量来保存产品,而一个变量用于数组1-10。第二个问题是你的循环,你从1-10循环,但你可能真正想要做的是从0-9循环,这是数组索引,以便你可以从这个数组中获取值:

<?php
$prod = 1;
$numbers = range(1 , 10);
$arrlength = count($numbers);
for ($x = 0; $x < $arrlength; $x++) {
     $prod *= $numbers[$x];
}
echo "The product of first 10 numbers is $prod.<br>";
?>

其输出将为:

The product of first 10 numbers is 3628800.

答案 1 :(得分:0)

请注意我没有测试过这段代码,但我确信它应该有用。

<?php
  $numbers = range(1, 10);
  $product = 1;

  for ($i = 0; $i < count($numbers); $i++) {
    $product *= $numbers[$i];
  }

  echo 'The product of the first 10 numbers is ' . $product . '<br />';
?>