在php中动态返回对象

在php中动态返回对象,php,Php,我知道这可以用javascript实现,如下所示: function doSomething(){ var something, something_else, another_thing; // do something with these vars return { attribute1 : something, array1 : [ something_else, another_

我知道这可以用javascript实现,如下所示:

function doSomething(){
    var something, something_else, another_thing;

    // do something with these vars

    return {
        attribute1 : something,
        array1 : [
            something_else,
            another_thing
        ]
    }
}

可以在php中完成吗?

您可以创建一个新的
stdClass()
对象,分配其属性并返回它

$x = new stdClass();
$x->attribute1 = "something";
$x->array1 = array(1,2,3);

var_dump($x);

return $x;

PHP不支持对象。但是,它确实有一个泛型的
stdClass
类,您可以使用类似的语法

function doSomething()
{
    $something = 1;
    $something_else = 2;
    $another_thing = 3;

    return (object) [
        "attribute1" => $something,
        "array1" => [
            $something_else,
            $another_thing
        ]
    ];
}

var_dump(doSomething());
将给出()

请注意,从PHP5.4开始,您只能使用as。在此之前,您将使用。

或$x=(对象)数组('attribute'=>“Something”,“array1”=>数组(1,2,3));返回$x
object(stdClass)#1 (2) { 
    ["attribute1"]=> int(1) 
    ["array1"]=> array(2) { 
        [0]=> int(2) 
        [1]=> int(3) 
    } 
}