php参考传递

时间:2012-03-29 09:00:59

标签: php reference

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

我想在之后设置$grand_total

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

// Set after
$grand_total += 50;

这没有问题,但是当我使用函数传递$grand_total var时,我收到以下错误:

  

遇到PHP错误严重性:8192消息:呼叫时间   pass-by-reference已被弃用文件名:   controllers / checkout.php行号:131

我正在传递这样的变量:

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

// Set after
$grand_total += 50;

我必须使用price()函数。

任何人都可以帮助我吗?

我很抱歉我的英语不好。

2 个答案:

答案 0 :(得分:1)

这对你来说非常合适

    $grand_total = 10;
    function &price($value)
    {
        $value += 10;
        return $value ;
    }
    $grand_total = price($grand_total);
    $data = array('title' => 'blabla', 'value' =>$grand_total);
    $grand_total += 50;
    var_dump($grand_total)

输出

    int 70

了解更多信息

http://us3.php.net/manual/en/language.references.php

http://us3.php.net/manual/en/language.references.pass.php

由于 :)

答案 1 :(得分:0)

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

看看你的php.ini

allow_call_time_pass_reference = On

如果此参数设置为off,则其不起作用。但一般情况下,它在PHP 5中被弃用,用引用(“& $ grand_total”)调用时间函数。在没有引用的情况下调用函数或将函数中的引用分配给另一个变量,并使用变量而不是引用。