Maison  >  Article  >  développement back-end  >  Erreur PHP : Solution pour essayer d'attribuer un résultat non variable !

Erreur PHP : Solution pour essayer d'attribuer un résultat non variable !

PHPz
PHPzoriginal
2023-08-17 09:16:411026parcourir

Erreur PHP : Solution pour essayer dattribuer un résultat non variable !

Erreur PHP : Tentative d'attribuer le résultat d'une solution non variable !

Pendant le processus de développement PHP, nous rencontrons souvent diverses erreurs et exceptions. L'un d'eux est "essayer d'attribuer le résultat d'une non variable". Cette erreur se produit généralement lors de l'attribution d'une valeur à une variable et le résultat de l'affectation n'est pas une variable valide. Cet article détaillera les causes de cette erreur et fournira les solutions correspondantes.

Tout d'abord, regardons un exemple de code pour reproduire cette erreur :

$string = "Hello, World!";
echo $string() = "Goodbye, World!";

Lorsque nous exécutons le code ci-dessus, nous rencontrerons une erreur PHP : "Tentative d'assigner le résultat d'une non-variable". C'est parce que nous avons utilisé par erreur l'écriture fonctionnelle lors de l'attribution d'une valeur à la variable $string.

Dans l'exemple ci-dessus, nous essayons d'attribuer la chaîne "Goodbye, World!" à la variable $string. Cependant, nous avons utilisé par erreur la syntaxe d’affectation fonctionnelle et appelé la variable $string() comme fonction. Ensuite, le résultat de l'appel de fonction « Goodbye, World ! » est affecté à une non-variable, ce qui provoque cette erreur.

Afin de résoudre cette erreur, nous devons clarifier les règles de syntaxe pour l'affectation des variables. En PHP, l'affectation de variables nécessite l'utilisation du signe égal (=). La bonne façon de l'écrire est :

$string = "Goodbye, World!";

Maintenant, nous savons comment corriger cette erreur. Examinons ensuite plus en détail certaines des situations dans lesquelles cette erreur est susceptible de se produire et proposons des solutions de contournement supplémentaires.

  1. Manière d'écriture incorrecte : attribuer directement le résultat d'un appel de fonction à une variable

Parfois, nous pouvons commettre une erreur courante, attribuer directement le résultat d'un appel de fonction à une variable au lieu d'utiliser le nom de la fonction comme variable nom . Par exemple :

$result = myFunction();

Dans cet exemple, si myFunction() renvoie un résultat non variable, une erreur "Tentative d'attribution d'un résultat non variable" se produira. Pour éviter cette erreur, nous devons nous assurer que le nom de la fonction est suivi de crochets de paramètre pour indiquer l'appel de la fonction. La bonne façon de l'écrire devrait être :

$result = myFunction();
  1. La mauvaise façon de l'écrire : affecter directement le résultat de la méthode objet à une variable

Une autre erreur courante consiste à affecter directement l'appel de la méthode objet à une variable. Par exemple :

$result = $object->myMethod();

Dans cet exemple, si myMethod() renvoie un résultat non variable, l'erreur "Tentative d'attribution d'un résultat non variable" se produira également. Pour résoudre ce problème, nous devons nous assurer que l’appel de méthode objet est suivi de crochets de paramètre pour indiquer l’appel de méthode. La bonne façon de l'écrire devrait être :

$result = $object->myMethod();

Pour résumer, lorsque nous rencontrons une erreur PHP : "Tentative d'affectation du résultat d'une non-variable", nous devons soigneusement vérifier si l'instruction d'affectation est correcte. Assurez-vous d'utiliser le signe égal pour les affectations de variables et évitez d'utiliser de manière incorrecte des appels de méthode fonctionnelle ou objet.

J'espère qu'à travers l'introduction de cet article, les lecteurs pourront mieux comprendre la cause de cette erreur et éviter de commettre la même erreur dans le développement PHP quotidien. N'oubliez pas qu'une syntaxe correcte et de bonnes pratiques de codage sont essentielles pour écrire du code de haute qualité !

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