PHP stdClass 嵌套属性

PHP stdClass nested properties

这曾经对我有用,但现在不再有用了。新的/更好的方法是什么?

$myObj = new stdClass();
$myObj->foo->bar = "content";
$payload = json_encode($myObj);

现在我得到:

Uncaught Error: Attempt to modify property "bar" on null

您需要显式创建嵌套对象。

$myObj = new StdClass;
$myObj->foo = new StdClass;
$myObj->foo->bar = "content";
$payload = json_encode($myObj);

但如果您只是创建 JSON,使用关联数组而不是对象会更简单。它们可以很容易地写成文字。

$myArr = ['foo' => ['bar' => "content"]];
$payload = json_encode($myArr);