Erreur piégée : accès au décalage du tableau sur la valeur booléenne en PHP 7.4
Requête :
Après la mise à niveau vers PHP 7.4.1, l'erreur suivante se produit :
Notice: Trying to access array offset on value of type bool in
dans ce bloc de code :
public static function read($id) { $Row = MySQL::query("SELECT `Data` FROM `cb_sessions` WHERE `SessionID` = '$id'", TRUE); # http://php.net/manual/en/function.session-start.php#120589 //check to see if $session_data is null before returning (CRITICAL) if(is_null($Row['Data'])) { $session_data = ''; } else { $session_data = $Row['Data']; } return $session_data; }
Solution :
PHP 7.4 applique une vérification de type plus stricte, provoquant cette erreur lorsque $Row['Data'] peut être nul. Pour résoudre ce problème, utilisez l'opérateur de fusion nul (??) pour attribuer une valeur par défaut si $Row['Data'] est nul :
return $Row['Data'] ?? 'default value';
Vous pouvez également utiliser l'opérateur d'affectation de fusion nul (? ?=) pour définir la valeur par défaut si $Row['Data'] est nul :
$Row['Data'] ??= 'default value'; return $Row['Data'];
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!