Partage
  • Partager sur Facebook
  • Partager sur Twitter

Undefined offset

2 mai 2017 à 21:28:16

$i=0;
 $r=count($membre)/8;
 while ($i<=count($membre)) { 
    for ($j = 0; $j <= $r; $j++) {  
       if ($j % 3 == 0) {
            $t[$j][0] = ($membre[$i + 7][0] - $membre[$i][0]) * $pr1;
        }
        if ($j % 3 == 1) {             $t[$j][0] = ($membre[$i + 7][0] - $membre[$i][0]) * $pr2;         }
        if ($j % 3 == 2){
            $t[$j][0] = ($membre[$i + 7][0] - $membre[$i][0]) * $pr3;         }    
        $i = $i + 8;
    }}
Undefined offset sur la ligne qui contient cette instruction
$t[$j][0] = ($membre[$i + 7][0] - $membre[$i][0]) * $pr1;
 il m'affiche le tableaux correcte mais il m'ajoute une ligne en plus 

-
Edité par ChouchouMimi 2 mai 2017 à 21:33:03

  • Partager sur Facebook
  • Partager sur Twitter
3 mai 2017 à 8:20:41

Salut !

Ne pas oublier que , comme la numérotation des index commence à 0, l'index maximal est de count($tableau) - 1. Dans ton cas, tu peux régler ça rapidement en utilisant $i &lt; count($membre) et $j &lt; $r, donc &lt; au lieu de &lt;=.

-
Edité par Ymox 3 mai 2017 à 8:29:42

  • Partager sur Facebook
  • Partager sur Twitter
3 mai 2017 à 8:27:11

Bonjour,

ce code ne fonctionne que si $membre à un nombre d.elements multiples de 8. Sinon, tu auras un offset erreur, par exemple si $membre a 7 éléments et donc Est valide jusqu'à $membre [6] $membre [$i+7] ne fonctionne pas.

  • Partager sur Facebook
  • Partager sur Twitter
3 mai 2017 à 8:39:47

Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention plus facilement.
Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.


Manque de politesse



Bonjour,

Ton message ne comporte pas ou peu de formules de politesse (« Bonjour », « Merci », « Au revoir », etc.). Les règles du site exigent que chaque nouveau message comporte un minimum de politesse. Après tout, les gens qui te répondent le font gratuitement, sur leur temps libre. Ils méritent bien un minimum de considération, n'est-ce pas ? :) Je ferme donc ce sujet et t'invite à en poster un nouveau en prenant cette règle en compte.

Merci de ta compréhension.
  • Partager sur Facebook
  • Partager sur Twitter