我有一個自定義函數,它意味着在成功完成時返回某些值。總之,相關的部分看起來像這樣:自定義函數丟失返回變量值
function register($email, $username, $password)
{
....
$return = array();
$return['code'] = 4;
$return['email'] = $email;
var_dump($return);
echo "<h1>SUCCESS</h1>";
return $return;
}
我可以確認的功能也確實達到這個階段,因爲剛剛發佈的代碼上面是一個SQL查詢,成功地增加了一行到數據庫,我也能看到「成功」的消息得到發佈。
函數內部的的var_dump返回如下:
array (size=2)
'code' => int 4
'email' => string '[email protected]' (length=13)
到目前爲止,一切都很好。然而,如果我然後去實際調用這個函數$ return是空的。例如,如果我這樣做:
register($email, $username, $password);
var_dump($return);
echo "<h1>Return code & email: $return & ".$return['code']." ".$return['email']."</h1>";
函數運行成功,新用戶註冊,我看到「成功」,但我沒有得到$返回的數組返回。的var_dump返回此:
string '' (length=0)
,並呼籲$返回[「代碼」]和$返回[「電子郵件」]的會見警告:非法串偏移。我究竟做錯了什麼?
你調用方法的功能是不正確,作爲三個答案中的任何一個(馬修麥克統治,蒂姆赫爾格或大教堂) – Zeddy 2013-04-29 13:22:28