Php 将多维数组转换为嵌套对象
我想将多维数组转换为嵌套对象。 这是我的数组的一个例子,但是这个数组可以是任何索引长度。 我的解决方案仅适用于示例中给定的数组索引长度Php 将多维数组转换为嵌套对象,php,multidimensional-array,associative-array,Php,Multidimensional Array,Associative Array,我想将多维数组转换为嵌套对象。 这是我的数组的一个例子,但是这个数组可以是任何索引长度。 我的解决方案仅适用于示例中给定的数组索引长度 $associativeArray = [ 'key' => [ [ 'name' => 'hey', 'value' => 'hello', ], [ 'name' => 'hey1',
$associativeArray = [
'key' => [
[
'name' => 'hey',
'value' => 'hello',
],
[
'name' => 'hey1',
'value' => 'hello1',
],
[
'name' => 'hey2',
'value' => 'hello2',
],
],
'test' => [
[
'name' => 'hey3',
'value' => 'hello3',
]
]
];
我这样做是为了我的需要,但不是很优雅
foreach ($associativeArray as $subArray) {
foreach ($subArray as $key => $value) {
$subArray[$key] = (object)$value;
}
$nestedObjects[] = (object)$subArray;
}
$nestedObjects = (object)$nestedObjects;
我希望能够将任何维度的多维数据转换为嵌套对象。
有人能推荐一种优雅的方法吗?一种快速的方法是:
json_decode(json_encode($associativeArray));
json\u encode($associateArray)
将数组转换为json字符串
json\u decode
将json字符串转换为stdClass
对象