一千萬個為什麽

搜索

從另一個對象向stdClass對象添加屬性

我希望能夠做到以下幾點:

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

$obj2 = new stdClass;
$obj2->message = "OK";

如何擴展$ obj以使其包含$ obj2的屬性,例如:

$obj->status //"success"

$obj->message//"OK"

我知道我可以使用數組,將所有屬性添加到數組然後將其轉換回對象,但有更優雅的方式,如下所示:

extend($ obj,$ obj2); //將$ obj2中的所有屬性添加到$ obj

謝謝!

最佳答案

這更符合他們不想做的方式....

$extended = (object) array_merge((array)$obj, (array)$obj2);

但是我認為這比叠代屬性要好一些。

轉載註明原文: 從另一個對象向stdClass對象添加屬性