Add properties to stdClass object from another object

前端 未结 4 1806
悲哀的现实
悲哀的现实 2021-02-07 04:26

I would like to be able to do the following:

$obj = new stdClass;
$obj->status = \"success\";

$obj2 = new stdClass;
$obj2->message = \"OK\";
4条回答
  •  别跟我提以往
    2021-02-07 04:44

    You could use get_object_vars() on one of the stdClass object, iterate through those, and add them to the other:

    function extend($obj, $obj2) {
        $vars = get_object_vars($obj2);
        foreach ($vars as $var => $value) {
            $obj->$var = $value;
        }
        return $obj;
    }
    

    Not sure if you'd deem that more elegant, mind you.

    Edit: If you're not stingy about actually storing them in the same place, take a look at this answer to a very similar question.

提交回复
热议问题