PHP:动态地将空对象分配给stdClass

时间:2015-06-05 09:22:07

标签: php json stdclass

嗨,我正在探索周围&找到导致我出错的东西。

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

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

echo json_encode($animal);

此脚本导致我出错:

  

警告:从空值

创建默认对象

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

解决方案:

$animal = new stdClass;

这可以解决错误,但我的脚本上有很多OBJECTS我会在stdClass上声明每个对象吗?

LIKE

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

有没有办法获得每个空的OBJECT并动态声明为stdClass?

1 个答案:

答案 0 :(得分:2)

这可能会有所帮助 -

$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;