Maison > Article > développement back-end > Comment résoudre un index non défini en php
Les problèmes d'index généralement non définis sont causés par le fait que le tableau n'a pas cette valeur . Les tableaux sont divisés en tableaux associatifs et tableaux d'index. Les tableaux associatifs sont des indices clé-valeur.
$POST['id'] signale un index non défini car le tableau $POST ne contient pas de valeur avec l'identifiant de la valeur de la clé d'indice. (Apprentissage recommandé : Tutoriel vidéo PHP)
Solution :
Déterminez si le tableau contient une valeur avec l'identifiant de valeur de clé d'indice, si Si non, un message d'erreur sera renvoyé. Comment juger ? Le moyen le plus simple est d'utiliser la fonction isset pour juger, comme isset($POST['id']). be false;
La méthode de jugement ternaire ne donne pas de valeur par défaut, telle que $POST['id'] = isset($POST['id'])?$POST['id']:" 1";
Cette notification apparaît lorsque vous (ou PHP) essayez d'accéder à un index non défini d'un tableau.
Moyen de résoudre le problème :
Vérifiez si l'index existe avant d'y accéder. Vous pouvez utiliser isset() ou array_key_exists() pour cela :
//isset()$value = isset($array['my_index']) ? $array['my_index'] : ''; //array_key_exists()$value = array_key_exists('my_index', $array) ? $array['my_index'] : '';
La construction du langage list() peut générer ceci en essayant d'accéder à un index de tableau inexistant :
list($a, $b) = array(0 => 'a');//orlist($one, $two) = explode(',', 'test string');
Deux variables pour accéder à deux éléments du tableau, mais il n'y a qu'un seul élément du tableau à l'index 0, donc cela générera :
Remarque : décalage non défini : 1
$_POST/ $ _GET/ $_SESSION variable
Lors de l'utilisation de $_POST, les considérations ci-dessus apparaissent souvent, $_GET ou $_SESSION.
Pour votre $_POST, $_GET il vous suffit de vérifier si l'index existe avant de l'utiliser. À cause de $_SESSION, vous devez vous assurer de commencer par session_start() et que l'index existe également.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!