


Différences entre PHP5 et PHP7 concernant la prise d'éléments de tableau comme noms de fonctions dynamiques
Feb 29, 2020 pm 01:44 PMLors 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]();
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 à :
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!

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Quelle est la différence entre php5 et php8

Comment résoudre le problème lorsque php7 détecte que le port TCP ne fonctionne pas

Comment installer l'extension mongo dans php7.0

Que dois-je faire si le plug-in est installé dans php7.0 mais qu'il indique toujours qu'il n'est pas installé ?

Lequel est le meilleur, php8 ou php7 ?

Guide FAQ de l'environnement serveur PHP : résoudre rapidement les problèmes courants

Comment résoudre le problème que PHP5 n'écoute pas sur le port 9000
