En PHP, un tableau indexé magasins paires clé-valeur de données utilisant des entiers non nuls comme clés . Le premier élément du tableau a une clé d'éléments zéro et postérieure sont numérotées consécutivement . Un tableau qui utilise des chaînes comme des touches est appelé un tableau associatif. Lorsque vous essayez d'accéder à un élément de tableau avec une clé entière qui est en dehors des limites des clés valides dans un tableau , vous recevez une erreur " Undefined offset " . L'erreur équivalent pour un tableau associatif est une erreur " Undefined index " . Initialisation avec array Fonction
Une façon de créer un tableau en PHP est d'utiliser la fonction " tableau" . Passez une liste ordonnée d'éléments et PHP va créer un tableau indexé de ces éléments à partir de zéro. Par exemple:
< php $ dayofweek = ? $ dayofweek [2]; //affiche " Tue " echo $ dayofweek [5 ] //affiche " Vendredi "
Undefined offset
"undefined compenser " erreur de PHP se produit lorsque vous tentez de référencer un élément de tableau en utilisant une valeur d' index de tableau qui n'existe pas . Si vous êtes nouveau à la programmation , vous pouvez oublier que les clés d'élément de tableau indexé commencent à zéro, pas un, et à la fin avec le nombre d'éléments dans le tableau moins un. Par exemple , le code suivant génère une erreur " Undefined offset " en PHP parce que le tableau " dayofweek " comporte sept éléments à index zéro à six , et non pas un à sept :
echo $ dayofweek [7] ;
Initialisation par une fonction
Vous pouvez aussi initialiser un tableau en le définissant égale à la valeur de retour d'une fonction qui retourne un tableau , ou par le passage d'un tableau par référence à une fonction qui va modifier le tableau. Par exemple:
$ array = initialize_array (); //une fonction qui retourne un tableau
Si vous n'êtes pas sûr de ce que le dernier élément est dans le tableau retourné par la fonction et que vous tentez pour accéder à un élément de tableau après la dernière touche entier défini , vous recevrez un message d'erreur " undefined offset " .
éviter avec le comte
une façon d'éviter un " ; undefined offset "d'erreur est de contrôler les clés entières que vous utilisez à utiliser pour référencer les valeurs de tableau avec une boucle , comme une« boucle for ". Utilisez la fonction " count" pour déterminer le nombre d'éléments dans un tableau et de créer une boucle "for " à l'élément zéro jusqu'au dernier élément. Par exemple , le code suivant calcule le nombre d'éléments dans un tableau pour créer une boucle qui ne dépasse pas la limite de tableau:
nombrejours $ = count ($ dayofweek ) ; //retourne 7pour ($ i = 0 ; $ i <$ nombrejours ; $ i + +) echo "
" . $ dayofweek [$ i] . " "; //éléments numérotés de zéro à six
Eviter Avec le " isset " Fonction
autre façon d'éviter un " undefined offset "d'erreur est d'utiliser la fonction" isset " . Cette fonction retourne "true" ou "false" selon que vous avez une valeur de tableau avec la clé spécifiée . Il ne sera pas déclencher une erreur " Undefined offset " si le résultat est faux . Avant d'essayer de faire référence à un élément de tableau , appelez la fonction " isset " pour voir s'il existe. Par exemple, les augmentations de code suivants un compteur jusqu'à ce qu'il atteigne une clé du tableau en dehors des limites du tableau :
$ day = -1; while ( isset ($ dayofweek [+ + $ jour] ) ) echo " < ; li> " . $ dayofweek [$ jour] . " ";