こんにちは私は呼び出されているオブジェクトがあり、それらのオブジェクトのいくつかには他のオブジェクトが含まれています。foreachを使用して各プロパティを調べて新しい配列に入れ、foreach内でifステートメントを使用してプロパティに別のオブジェクトが含まれているかどうかを確認していますオブジェクト、およびオブジェクトプロパティ内のオブジェクトのプロパティを取得するために別のforeachを使用する場合。
問題は、2レベルの深さになると、それが崩壊することです。is_objectテストを実行してtrueを返すことにより、内部にオブジェクトがあることがわかりますが、そのプロパティをトラベスレートしようとすると、情報が得られません。
private static function prepare_page($output_object) {
foreach ($output_object as $object) {
if (is_a($object, "subjects")) {
$return_object["{{::SUBJECT::}}"] = $object->name;
}
if (is_a($object, "posts")) {
$return_object["{{::POST::}}"] = $object->name;
foreach ($object as $atribute => $value) {
if (is_object($value) || is_array($value)) {
foreach ($object as $property => $val) {
if (is_object($val)) {
echo "It's an object inside an object";
dump($val);
//works till here lets me know its an object and shows the $val with its contents (objects)
foreach ($val as $ob => $at) {
//breaks down here if i dump the $ob or $at it doesn't do anything
if (!is_object($at)) {
$return_object["{{::>>".strtoupper($ob)."::}}"] = $at;
} else {
// repeat process
}
}
} else {
$return_object["{{::==".strtoupper($property)."::}}"] = $val;
}
}
} else {
if (!is_object($value) && !is_array($value)) {
$return_object["{{::".strtoupper($atribute)."::}}"] = $value;
}
}
}
}
}
return $return_object;
}
助けてくれてありがとう。