我正在从 PHP 数组创建 JSON 编码数据,该数组可以是两到三层深度,看起来像这样:
[grandParent] => Array (
[parent] => Array (
[child] => myValue
)
)
我拥有的方法只是在代码中手动创建嵌套数组,这需要我通过键入一些可怕的嵌套数组来使用我的“setOption”函数(稍后处理编码),但是:
$option = setOption("grandParent",array("parent"=>array("child"=>"myValue")));
在这种情况下,我希望能够通过使用与 javascript 类似的符号来获得相同的结果,因为我将在许多页面中设置许多选项,而上面的内容不是很可读,尤其是当嵌套数组包含多个键 - 而能够做到这一点会更有意义:
$option = setOption("grandParent.parent.child","myValue");
任何人都可以提出一种方法来通过拆分“。”上的字符串来创建多维数组。这样我就可以 json_encode() 将其转换为嵌套对象?
(setOption 函数的目的是将所有选项收集到一个大的嵌套 PHP 数组中,然后再一次将它们全部编码,所以这就是解决方案的所在)
编辑:我意识到我可以在代码中做到这一点:
$options['grandparent']['parent']['child'] = "myValue1";
$options['grandparent']['parent']['child2'] = "myValue2";
$options['grandparent']['parent']['child3'] = "myValue3";
这可能更简单;但是一个建议仍然会动摇(因为我将它用作更广泛对象的一部分,所以它$obj->setOption(key,value);