PHP: 动态分配一个空对象给stdClass

PHP: assigning an empty object dynamically to stdClass

嗨,我正在四处探索并找到导致我出错的东西。

我的脚本正在制作一个 json 格式,以最简单的方式阅读和编码我发现了这个。

$animal->dog = "dalmatian";
$animal->cat = "persian";

echo json_encode($animal);

此脚本导致错误:

Warning: Creating default object from empty value

在 Whosebug 中搜索后,我找到了使用 stdClass 的解决方案。

解决方案:

$animal = new stdClass;

这有效并解决了错误,但是我的脚本中有很多对象我要在 stdClass 上声明每个对象怎么样?

喜欢

$animals = new stdClass;
$mammals = new stdClass;

有没有办法获取每个空对象并动态声明到 stdClass?

这可能有帮助 -

$animal = (object) array();
$animal->dog = "dalmatian";
$animal->cat = "persian";

echo json_encode($animal);

或者您可以将它们存储到数组 -

$animal['dog'] = "dalmatian";
$animal['cat'] = "persian";

echo json_encode($animal);

将它们存储到数组中即可。如果你想让它成为一个对象,那么只需转换它。

$animal = (object) $animal;