php5.4传引用时报错问题分析_php技巧
May 16, 2016 pm 07:59 PM本文实例分析了php5.4传引用时报错问题。分享给大家供大家参考,具体如下:
php5.3系列版本以及以前版本,传引用没有什么问题,升级到php5.4以后,传引用的地方,全报错
Fatal error: Call-time pass-by-reference has been removed in F:\work\wamp\www\test\test.php on line 6。看一下下面的例子。
例1,递归传引用,在php 5.3及以及版本,测试结果
<?php function test($aa,&$bb){ if($aa < $bb){ echo $bb."<br>"; $bb--; test($aa,&$bb); } } $aa = 3; $bb = 6; test($aa,&$bb); ?>
运行结果如下
6
5
4
php 5.4以后就不行了,我是用php 5.4.11测试的。报Fatal error: Call-time pass-by-reference has been removed in F:\work\wamp\www\test\test.php on line 6。
例2,php5.4.11上面测试,只测试传引用
<?php function test($aa,&$bb){ if($aa < $bb){ $bb--; echo $bb."<br>"; //test($aa,&$bb); } } $aa = 3; $bb = 6; test($aa,$bb); //php5.4,php5.3及以前版本,输入结果是5 //test($aa,&$bb); //php5.3输入结果是5,php5.4及以后,报错Fatal error: Call-time pass-by-reference 。。。。 ?>
php5.4以后,定义时可以有&,调用时加上&就会报错。这样调用感觉很怪。
例3,php5.4以及递归传引用
<?php function test($aa,&$bb){ if($aa < $bb){ $bb--; echo $bb."<br>"; test($aa,$bb); } } $aa = 3; $bb = 6; test($aa,$bb); ?>
php5.2,php5.3,php5.4都可以运行,运行结果:
5
4
3
感觉这个5.3升到5.4有点坑爹,如果不知道改变的,升级就很郁闷了。
更多关于PHP错误与异常相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》
希望本文所述对大家PHP程序设计有所帮助。

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

Le nombre de colonnes ne correspond pas au nombre de valeurs à la ligne 1 - Comment résoudre l'erreur MySQL : le numéro de colonne ne correspond pas à la valeur

Définition de table incorrecte ; il ne peut y avoir qu'une seule colonne automatique et elle doit être définie comme une clé - Comment résoudre l'erreur MySQL : définition de table incorrecte, il ne peut y avoir qu'une seule colonne automatique et elle doit être définie comme une clé ;

Analyse des causes : erreur de requête HTTP 504 délai d'expiration de la passerelle

Solution : erreur de socket lors du traitement des requêtes HTTP

Colonne inconnue 'nom_colonne' dans 'clause Where' - Comment résoudre l'erreur MySQL : colonne inconnue dans la clause Where

Guide étape par étape pour résoudre rapidement les erreurs d'installation de pyqt5

Base de données inconnue 'database_name' - Comment résoudre l'erreur MySQL : nom de base de données inconnu
