Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/241.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP函数能返回很多变量吗?_Php - Fatal编程技术网

PHP函数能返回很多变量吗?

PHP函数能返回很多变量吗?,php,Php,一个PHP函数在没有数组的情况下能返回很多变量吗 我想这样: <?php public function a() { $a = "a"; $b = "b"; $c = "c"; } echo a()->a; echo a()->b; echo a()->c; ?> 如何访问$a、$b、$c变量?如果希望以这种方式访问这些变量(而不使用数组),最好使用类: class Name{ var $a = "a"; var $b

一个PHP函数在没有数组的情况下能返回很多变量吗

我想这样:

<?php

public function a()
{
   $a = "a";
   $b = "b";
   $c = "c";

}

echo a()->a;
echo a()->b;
echo a()->c;

?>


如何访问$a、$b、$c变量?

如果希望以这种方式访问这些变量(而不使用数组),最好使用类:

class Name{
    var $a = "a";
    var $b = "b";
}

$obj = new Name();
echo $obj->a;

您可以使用关联数组而不是数组,并将其强制转换为对象,这允许您使用
->
对象语法访问元素:

function a()
{
  return (object) array(
    'a' => "a",
    'b' => "b",
    'c' => "c");
}

echo a()->a;  // be aware that you are calling a() three times here
echo a()->b;
echo a()->c;

您可以构建一个类并返回一个对象。查看一些可能有用的内容。

创建一个包含3个变量的类,并返回该类的实例。例如:

<?php
class A {
    public $a;
    public $b;
    public $c;

    public function __construct($a, $b, $c) {
        $this->a = $a;
        $this->b = $b;
        $this->c = $c;
    }
}

function a() {
    return new A("a", "b", "c");
}

echo a()->a;
echo a()->b;
echo a()->c;
?>

是的,当返回变量必须是一个数组,或者它应该是一个长字符串,多个值之间用“,|#”等分隔符分隔时,这是可能的

如果它构建为一个数组,我们可以使用PHP中可用的var_dump函数来接收它

请参阅下面的代码


变量转储($数组);

函数不能返回多个值,但可以通过返回数组获得类似的结果

<?php
function small_numbers()
{
    return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();

此代码是错误的,您应该这样声明和分配变量:
var$a=“a”
,或者最好使用显式可见性关键字:
public$a='a'
protected$a='a'
private$a='a'
是的,我知道。。。我这样写是因为它在PHP4和PHP5上工作。这真的很愚蠢,但是有数以百万计的PHP4服务器(PHP4不支持访问修饰符),管理员也懒得升级:仍在使用PHP4的DAnyone需要拍摄。返回需要解析的字符串将非常难看。
$a = a();
echo $a->a;
echo $a->b;
echo $a->c;
<?php
function small_numbers()
{
    return array (0, 1, 2);
}
list ($zero, $one, $two) = small_numbers();