Maison  >  Article  >  développement back-end  >  Pourquoi est-ce que je reçois « Erreur piégée : accès au décalage du tableau sur la valeur booléenne » dans PHP 7.4 ?

Pourquoi est-ce que je reçois « Erreur piégée : accès au décalage du tableau sur la valeur booléenne » dans PHP 7.4 ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-15 04:18:02504parcourir

Why Am I Getting

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn