【发布时间】:2013-09-17 17:08:07
【问题描述】:
我正在将一个 php 应用程序从 PHP 5.2 升级到 PHP 5.3。在 PHP 迁移文档中,它说“具有按值调用的引用参数的函数的行为已经改变......”。我一直在试图理解这是指什么,并且在所有情况下我都测试了 5.2 和 5.3 中的行为是相同的。
谁能提供一个例子,说明 5.2 的行为与 5.3 的引用调用不同吗?
【问题讨论】:
我正在将一个 php 应用程序从 PHP 5.2 升级到 PHP 5.3。在 PHP 迁移文档中,它说“具有按值调用的引用参数的函数的行为已经改变......”。我一直在试图理解这是指什么,并且在所有情况下我都测试了 5.2 和 5.3 中的行为是相同的。
谁能提供一个例子,说明 5.2 的行为与 5.3 的引用调用不同吗?
【问题讨论】:
<?php
function foo(&$var)
{
$var++;
}
//foo(5);
//PHP Fatal error: Only variables can be passed by reference
$a = 5;
foo($a);
// $a is 6 here
echo $a;
?>
【讨论】: