我想从我的函数内部获取一些值,并在外面使用它们进行计算?可能吗?我是PHP的新手。
假设我有代码:
function snltc($ema)
{
$uemail = $ema;
$snlc = mysql_query("SELECT * FROM usertree WHERE slot1='$uemail' || slot2='$uemail' || slot3='$uemail' || slot4='$uemail' || slot5='$uemail'");
$dsnl = mysql_fetch_array($snlc);
echo $dsnl['supemail'];
echo "</br>";
echo $dsnl['snlt'];
$sup1 = $dsnl['supemail'];
$snltu = $dsnl['snlt'] + 1;
echo "</br>";
echo $snltu;
mysql_query("UPDATE usertree SET snlt='$snltu' WHERE supemail='$sup1'");
$newsnl = mysql_fetch_array($snlc);
echo "</br>";
$snlval = $newsnl['snlt'];
echo "</br>";
return $snlval;
}
echo "</br>";
echo snltc('gami@gmail.com');
现在,我想从这段代码中得到的是在函数外使用$snlval
,在函数外使用$sup1
。我怎样才能做到这一点?
答案 0 :(得分:2)
您可以将其作为数组返回:
function snltc($ema){
$uemail = $ema;
$snlc = mysql_query("SELECT * FROM usertree WHERE slot1='$uemail' || slot2='$uemail' || slot3='$uemail' || slot4='$uemail' || slot5='$uemail'");
$dsnl = mysql_fetch_array($snlc);
$sup1 = $dsnl['supemail'];
$snltu = $dsnl['snlt'] + 1;
mysql_query("UPDATE usertree SET snlt='$snltu' WHERE supemail='$sup1'");
$return = array();
$return['snlval'] = $snltu;
$return['sup1'] = $sup1;
return $return;
}
然后你可以使用
$return = snltc('gami@gmail.com');
echo $return['snlval'];
echo $return['sup1'];
答案 1 :(得分:0)
在你的功能中:
return array($snival, $sup1);
调用该函数:
$values = snltc($x);
echo $values[0] . $values[1];
答案 2 :(得分:0)
返回数组中的两个值:
function snltc($ema)
{
// ...
return array($sup1, $snlval);
}
list($sup1, $snlval) = snltc('gami@gmail.com');
答案 3 :(得分:0)
现在我想从这段代码中使用$ snlval 函数和$ sup1函数的一面如何才能实现这个目标?
假设您要返回2个变量.. 你会把它们放在一个数组中并返回数组,以便你的return语句变为
return array('snlval' => $snlval, 'sup1' => $sup1 );
所以当你调用这个函数时......
$result = snltc('gami@gmail.com');
$snlval = $result['snlval'];
$sup1 = $result['sup1'];