0

私はphpが初めてで、php bookで例を作成しました。そこで私は下に着きましnoticeた。この通知を防ぐには?

<?php
require_once('AddingMachine.php');
$arrayofnumbers = array(100,200);
$objectname = new AddingMachine();
$objectname->addNumbers($arrayofnumbers);
?>

<?php
Class AddingMachine
{
private $total = 0;
function addNumbers(array $numbers)
{{
for($i=0;$i<=sizeof($numbers);$i++)
{
    $this->total = $this->total + $numbers[$i];
}
   echo $this->total;
 }
}
}
4

2 に答える 2

2

ループを次から変更します

for($i=0; $i <= sizeof($numbers); $i++)

for($i=0; $i < sizeof($numbers); $i++)

を使用することもお勧めしますcount

for($i=0; $i < count($numbers); $i++)
于 2013-03-27T06:37:58.240 に答える
1

問題は<= sizeof($numbers)( に等しい にありcount($numbers)ます。配列は 0 からカウントを開始するため、配列要素の総数は常に最大インデックスよりも 1 つ多くなります。

をに置き換えるだけ<=<問題ありません。

于 2013-03-27T06:37:38.557 に答える