我是php的新手,我在php书中做了一个例子。在那里,我得到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;
}
}
}
答案 0 :(得分:2)
从
更改循环for($i=0; $i <= sizeof($numbers); $i++)
到
for($i=0; $i < sizeof($numbers); $i++)
也最好使用count
。
for($i=0; $i < count($numbers); $i++)
答案 1 :(得分:1)
问题在于<= sizeof($numbers)
(等于count($numbers)
。它将为您提供数组元素的总数,它总是比最大索引多一个,因为数组开始计数0
只需将<=
替换为<
,您就可以了。