Maison développement back-end tutoriel php php5.4传引用时报错问题分析_php技巧

php5.4传引用时报错问题分析_php技巧

May 16, 2016 pm 07:59 PM
php5.4 php报错 Référence du laissez-passer 报错

本文实例分析了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及以及版本,测试结果

<&#63;php
function test($aa,&$bb){
  if($aa < $bb){
    echo $bb."<br>";
    $bb--;
    test($aa,&$bb);
  }
}
$aa = 3;
$bb = 6;
test($aa,&$bb);
&#63;>

Copier après la connexion

运行结果如下

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上面测试,只测试传引用

<&#63;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 。。。。
&#63;>

Copier après la connexion

php5.4以后,定义时可以有&,调用时加上&就会报错。这样调用感觉很怪。

例3,php5.4以及递归传引用

<&#63;php
function test($aa,&$bb){
  if($aa < $bb){
    $bb--;
    echo $bb."<br>";
    test($aa,$bb);
  }
}
$aa = 3;
$bb = 6;
test($aa,$bb);
&#63;>

Copier après la connexion

php5.2,php5.3,php5.4都可以运行,运行结果:

5
4
3

感觉这个5.3升到5.4有点坑爹,如果不知道改变的,升级就很郁闷了。

更多关于PHP错误与异常相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结

希望本文所述对大家PHP程序设计有所帮助。

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

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

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 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 Oct 05, 2023 am 11:40 AM

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é ; 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é ; Oct 05, 2023 am 11:05 AM

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é ;

erreur MySQL 10060 erreur MySQL 10060 Sep 12, 2023 am 11:00 AM

erreur MySQL 10060

Analyse des causes : erreur de requête HTTP 504 délai d'expiration de la passerelle Analyse des causes : erreur de requête HTTP 504 délai d'expiration de la passerelle Feb 19, 2024 pm 05:12 PM

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 Solution : erreur de socket lors du traitement des requêtes HTTP Feb 25, 2024 pm 09:24 PM

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 Colonne inconnue 'nom_colonne' dans 'clause Where' - Comment résoudre l'erreur MySQL : colonne inconnue dans la clause Where Oct 05, 2023 am 11:15 AM

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 Guide étape par étape pour résoudre rapidement les erreurs d'installation de pyqt5 Jan 19, 2024 am 09:32 AM

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 Base de données inconnue 'database_name' - Comment résoudre l'erreur MySQL : nom de base de données inconnu Oct 05, 2023 am 09:45 AM

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

See all articles