2012-03-29 95 views
1

我在PHP中传递变量作为参考时遇到问题。php参考传递

我想设置$grand_total后:

$data = array('title' => 'blabla', 'value' => &$grand_total); 

// Set after 
$grand_total += 50; 

这是没有问题的运行,但是当我用一个函数传递$grand_total变种,我得到的错误如下:

PHP错误是遇到的严重性:8192消息:调用时间 传递引用已被弃用文件名: controllers/checkout.php行号:131

我传递变量是这样的:

$data = array('title' => 'blabla', 'value' => price(&$grand_total)); 

// Set after 
$grand_total += 50; 

我必须使用price()功能。

任何人都可以帮助我吗?

对不起我的英文不好。

+0

请寄出'price()'函数 - 它返回什么? – BenM 2012-03-29 09:02:39

+0

价格函数返回字符串 – alioygur 2012-03-29 09:09:58

回答

0

没有功能它有点困难。我们不知道什么是上线“131”

查找到php.ini

allow_call_time_pass_reference = On 

如果这个参数设置为关闭它不工作。但一般在PHP 5中不推荐使用带有引用的时间函数(“& $ grand_total”)。在没有引用的情况下调用函数,或者将函数中的引用赋值给另一个变量,并使用变量而不是引用。

+0

请注意,'allow_call_time_pass_reference'已从PHP 5.4中删除**,任何仍然依赖于此的人无限期地陷入5.3。 – Wrikken 2012-06-25 23:26:38