2011-07-14 3 views
2

Je ne sais pas pourquoi je reçois un Undefined offset Avis sur ce point:php Undefined offset en fonction simple()

<?php 

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

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

?> 

Sortie:

Avis: Undefined offset : 3 dans E: \ php \ arrays \ array_1.php sur ligne 17

Répondre

5

Votre tableau a trois éléments à l'index 0, 1 et 2. Il n'y a aucun élément avec l'index 3.

Votre boucle doit arrêter avant qu'elle ne touche que ...

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

En outre, la caisse array_sum, ce qui pourrait être ce que vous êtes désireux quand même ...

$total=array_sum($numbers); 
1

Vous devez boucler à < la taille du tableau, pas <=.

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

Changer votre état vient m <= à <.

Cela va ajouter correctement:

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

bretelle de sortie des erreurs html

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