Maison > développement back-end > tutoriel php > Pourquoi est-ce que je reçois l'avertissement « Normes strictes : seules les variables doivent être transmises par référence » en PHP ?

Pourquoi est-ce que je reçois l'avertissement « Normes strictes : seules les variables doivent être transmises par référence » en PHP ?

DDD
Libérer: 2024-12-22 12:47:28
original
641 Les gens l'ont consulté

Why Am I Getting the

Comprendre l'avertissement des normes strictes : seules les variables doivent être transmises par référence

Lorsque vous rencontrez les « normes strictes : seules les variables doivent être transmises par référence référence », il est essentiel de comprendre la cause sous-jacente et comment la résoudre de manière appropriée. Cet avertissement se produit lorsqu'une expression est passée par référence plutôt que par une variable, comme l'exigent des normes strictes.

Dans l'extrait de code donné :

$el = array_shift($instance->find(..))
Copier après la connexion

Ce code déclenche l'avertissement car $instance- >find(...) est une expression qui renvoie un tableau, pas une variable. Ce comportement n'est pas intuitif, car on pourrait s'attendre à ce qu'une méthode renvoyant un tableau soit gérée comme une variable.

Pour résoudre cette erreur en mode strict, envisagez les options suivantes :

  • Modifier la signature de la méthode pour supprimer l'utilisation d'une référence :
function test_arr($a) {
    var_dump($a);
}
Copier après la connexion
  • Si vous modifiez la la signature de la méthode n'est pas réalisable, vous pouvez introduire une variable intermédiaire :
$inter = get_arr();
$el = array_shift($inter);
Copier après la connexion

En comprenant la nature de l'avertissement et en appliquant ces solutions, vous pouvez résoudre le problème efficacement et respecter des normes strictes.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal