2011-07-14 143 views
2

我不知道为什么我收到一个未定义偏移通知在此:PHP未定义偏移()

<?php 

$numbers = array('1','2','3'); 
$total = 0; 

for($i=0;$i<=sizeof($numbers); $i++) { 
    $total += $numbers[$i]; 
    echo $total; 
} 

?> 

输出:

注意:未定义抵消:3在E:\ php \ arrays \ array_1.php上 第17行

回答

5

你的数组索引0,1三个要素2.有与指数没有元素3.

它击中之前,您的循环应该停止......

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

此外,结账array_sum,这可能是你想反正什么...

$total=array_sum($numbers); 
1

您应循环到<数组的大小,而不是<=

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

来回更改条件m <=<

这将适当加:

$total += intval($numbers[$i]); 
0

倒胃口HTML错误

error_reporting(E_ALL); 
ini_set('display_errors', 'On'); 
ini_set('html_errors', 'Off');