2012-03-29 193 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