我有一个自定义函数,它意味着在成功完成时返回某些值。总之,相关的部分看起来像这样:自定义函数丢失返回变量值
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