Maison >développement back-end >PHP7 >Différences entre PHP5 et PHP7 concernant les fonctions get
La différence entre PHP5 et PHP7 dans la prise d'éléments de tableau comme noms de fonctions dynamiques
En PHP5 et PHP7, lors de l'obtention de noms de fonctions/méthodes via des variables et de l'exécution de fonctions/méthodes, le même code peut ne pas fonctionner en raison de stratégies d'interprétation différentes entre versions s'exécutent.
Exemple
$a = ['add', 'sub']; class Test { public function add() { echo 1 + 2; } } $t = new Test(); $t->$a[0]();
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, lors de l'exécution de t->t−>a0 sous PHP5, $a[0] sera exécuté en premier, la valeur de l'élément sera obtenue, puis la méthode spécifique de l'objet sera exécutée.
Sous PHP7, t->t−>a sera exécuté en premier, provoquant une erreur et l'interruption de l'exécution. Si vous devez l'exécuter normalement sous PHP7, vous devez le modifier en t->{a[0]}().
Pour les différences spécifiques, veuillez vous référer à :
Apprentissage recommandé : "Tutoriel PHP7"
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!