Maison > développement back-end > PHP7 > le corps du texte

Différences entre PHP5 et PHP7 concernant la prise d'éléments de tableau comme noms de fonctions dynamiques

藏色散人
Libérer: 2023-02-17 14:04:02
avant
2305 Les gens l'ont consulté

Lors de l'exécution de fonctions/méthodes en obtenant des noms de fonctions/méthodes via des variables en PHP5 et PHP7, le même code peut ne pas s'exécuter en raison de stratégies d'interprétation différentes entre les versions.

Exemple

$a = ['add', 'sub'];
 
class Test
{
  public function add()
  {
    echo 1 + 2;
  }
}
 
$t = new Test();
$t->$a[0]();
Copier après la connexion

L'exemple ci-dessus peut s'exécuter normalement sous PHP5.6, mais sous PHP7, il générera une erreur fatale : le nom de la fonction doit être une chaîne. En effet, lorsque $t->$a0 est exécuté sous PHP5, $a[0] sera exécuté en premier, la valeur de l'élément est obtenue, puis la méthode spécifique. de l'objet est exécuté.

Sous PHP7, $t->$a sera exécuté en premier, provoquant une erreur et une interruption de l'exécution. Si vous devez l'exécuter normalement sous PHP7, vous devez le modifier en $t->{$a[0]}().

Pour des différences spécifiques, veuillez vous référer à :

Différences entre PHP5 et PHP7 concernant la prise déléments de tableau comme noms de fonctions dynamiques

Pour plus de contenu lié à la programmation, veuillez faire attention au site Web chinois php Introduction à la programmationChronique !

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!

Étiquettes associées:
source:cnblogs.com
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