【发布时间】:2012-07-28 01:07:32
【问题描述】:
我在 PHP 中有一个多维数组,希望能够搜索它并找到所有对象值。
我想这样做的原因是,当找到一个对象时,我可以通过在其上调用output() 方法将其替换为数组。 output() 方法使用get_object_vars() 将自身变成一个数组,然后返回。
这是一个手动实现我想要的示例(但只有 2 级深度):
// First level search...
foreach($array as $k => $v) {
// Check if it's an array.
if (is_array($v)) {
// Second level search...
foreach($v as $k2 => $v2) {
// If it's an object - convert it!
if (is_object($v2)) {
$array[$k][$k2] = $array[$k][$k2]->output();
}
}
}
// If it's an object - convert it!
if (is_object($v)) {
$array[$k] = $array[$k]->output();
}
}
【问题讨论】:
标签: php arrays object recursion multidimensional-array