Pendant le développement de PHP, les tableaux sont couramment utilisés. Cependant, lorsque vous essayez d'accéder aux clés qui n'existent pas dans le tableau, vous rencontrez souvent une erreur de "Nom de la chaîne illégale" ", ce qui entraînera une interruption anormale du programme et affectera l'opération.
Cette erreur se produit généralement dans les opérations de réseau multidimensionnelles. Lorsque PHP accède aux touches de tableau non existantes, il convertira automatiquement la variable en une chaîne, ce qui augmentera l'erreur de "décalage de chaîne illégal".
$arr = array('id'=>1, 'email'=>'[email protected]');
$name = $arr['name'];
isset () peut détecter si la clé spécifiée existe dans le tableau et renvoyer une valeur booléenne. Avant d'appeler l'élément de tableau, déterminez d'abord si la clé existe pour éviter les erreurs.
$arr = array('id'=>1, 'email'=>'[email protected]');
if (isset($arr['name'])) {
$name = $arr['name'];
}
array_key_exists () est similaire à ISSet (), mais peut détecter correctement les clés avec une valeur nulle. Il convient aux situations où il est nécessaire de déterminer si la clé existe, mais la valeur de la clé peut être vide.
$arr = array('id'=>1, 'email'=>'[email protected]');
if (array_key_exists('name', $arr)) {
$name = $arr['name'];
}
vide () détermine si la variable est vide. Vous pouvez utiliser l'opérateur ternaire pour simplifier le code pour juger si la valeur clé existe et n'est pas vide.
$arr = array('id'=>1, 'email'=>'[email protected]');
$name = isset($arr['name']) ? $arr['name'] : '';
if (!empty($name)) {
// Effectuer des opérations connexes
}
Pour éviter l'erreur "décalage de chaîne illégal", la clé consiste à porter des jugements avant d'accéder aux clés du tableau. Grâce à l'utilisation rationnelle des fonctions ISSet (), array_key_exists () et vide (), la robustesse et la stabilité du code PHP peuvent être efficacement améliorées.