是否可以在函数php中有3个返回值?

时间:2015-08-26 14:32:04

标签: php

我想知道我是否可以将值返回给PHP函数,例如

function test()
{
     //returns true or false or a string
}
有人可以举个例子吗?我是PHP新手,非常感谢你。

4 个答案:

答案 0 :(得分:2)

PHP是一种动态类型语言。这意味着您不必限制返回特定类型。

您想要返回true,false或字符串。只要您只返回其中一个值,就可以这样做。除非将它们作为集合的一部分(如数组),否则不能同时返回所有三个。

示例:

function test() {
    $random = rand(0, 100);

    if (0 == $random) {
        return 'Mark it zero!';
    }

    if (0 == ($random % 10)) {
        return true;
    }

    return false;
}

答案 1 :(得分:1)

从技术上讲,这会给出使用列表返回多个值的印象

<?php
    function get_multiple()
    {
        return array(10,20,5);
    }

    list($a,$b,$c) = get_multiple();

    echo $a . "<br>";

    echo $b . "<br>";

    echo $c . "<br>";
    ?>

答案 2 :(得分:1)

如果您想返回多个值,您有两个选择:

您可以返回一个数组:

function test()
{
  return array($result1, $result2, $result3);
}

或者您可以在参考传递的参数中返回结果:

function test(&$result1, &$result2, &$result3)
{
  $result1 = 10;
  $result2 = 20;
  $result3 = 30;
}

test($r1, $r2, $r3);
echo $r1; // will echo 10;
echo $r2; // will echo 20;
echo $r3; // will echo 30;

答案 3 :(得分:1)

您可以返回数组:

function test(){
  $results[] = $result1;
  $results[] = $result2;
  $results[] = $result3;
return $results
}

或者您可以声明会话变量

function test(){
      $_SESSION['result1'] = $result1;
      $_SESSION['result2'] = $result2;
      $_SESSION['result3'] = $result3;
    }