从函数返回两个值

2022-08-30 13:12:39

在调用将输出值的函数时,是否可以返回两个值?

例如,我有这个:

<?php
    function ids($uid = 0, $sid = '')
    {
        $uid = 1;
        $sid = md5(time());

        return $uid;
        return $sid;
    }

    echo ids();
?>

这将输出.我想选择要输出的内容,例如,但它仍然会输出。1ids($sid)1

这有可能吗?


答案 1

只能返回一个值。但是,您可以使用一个数组,该数组本身包含其他两个值:

return array($uid, $sid);

然后,您可以访问如下值:

$ids = ids();
echo $ids[0];  // uid
echo $ids[1];  // sid

您还可以使用关联数组:

return array('uid' => $uid, 'sid' => $sid);

并访问它:

$ids = ids();
echo $ids['uid'];
echo $ids['sid'];

答案 2

如果需要返回多个值,请返回数组或对象。例如:

function foo() {
    return array(3, 'joe');
}

$data = foo();
$id = $data[0];
$username = $data[1];

// or:
list($id, $username) = foo();

推荐