我在 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();
}
}