我有一个PHP stdClass对象。在内部,它可以是许多字段,其中一些是数组。此外,字段也可以是一个对象,它可以包含带有数组的字段。
其思想是在找到数组时遍历对象并执行array_values操作。
例如,一个可能的对象可以如下:
object(stdClass)#1 (3) {
["name"]=>
string(14) "I am an object"
["object"]=>
object(stdClass)#2 (3) {
["0"]=>
string(6) "item 1"
["1"]=>
string(6) "item 2"
["2"]=>
array(3) {
[0]=>
string(3) "3.1"
[1]=>
string(3) "3.2"
[2]=>
string(3) "3.3"
}
}
["list"]=>
array(3) {
[0]=>
string(6) "item 1"
[1]=>
string(6) "item 2"
[2]=>
string(6) "item 3"
}
}对于如何递归遍历对象并将array_values应用于每个数组,有什么想法吗?
发布于 2014-06-30 14:56:58
我终于使用了这个功能。这正是我想要的。
function rec_array_values(&$item){
if(is_object($item)){
foreach ($item as $key => &$value) {
$key = rec_array_values($value);
}
}else if(is_array($item)){
foreach ($item as $key => &$value) {
$key = rec_array_values($value);
}
$item = array_values($item);
}
}https://stackoverflow.com/questions/24457185
复制相似问题