繁体   English   中英

PHP参考通行证

[英]php reference pass

我在PHP中将变量作为引用传递时遇到问题。

我想在以下位置设置$grand_total

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

// Set after
$grand_total += 50;

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

遇到PHP错误严重性:8192消息:已不赞成调用时传递引用文件名:controllers / checkout.php行号:131

我正在像这样传递变量:

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

// Set after
$grand_total += 50;

我必须使用price()函数。

谁能帮我?

对不起,我的英语不好。

这对你来说很好

    $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/zh/language.references.php

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

谢谢 :)

没有该功能,将有些困难。 我们不知道“ 131”行上的内容

查看您的php.ini

allow_call_time_pass_reference = On

如果将此参数设置为关闭,则它不起作用。 但是一般而言,PHP 5中已弃用使用引用(“&$ grand_total”)调用time函数。 调用不带引用的函数,或将函数中的引用分配给另一个变量,然后使用变量而不是引用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM