如何从PHP中的函数内部获取价值?

时间:2012-09-18 10:57:46

标签: php function

我想从我的函数内部获取一些值,并在外面使用它们进行计算?可能吗?我是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。我怎样才能做到这一点?

4 个答案:

答案 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'];