API の json データを json デコードし、オブジェクトを array に変換したいと考えました。そのためのクラス関数を書きました。そしてその機能は
public function objectToArray($result) {
if (is_object($result)) {
$result = get_object_vars($result);
}
if (is_array($result)) {
return array_map( @$this->objectToArray, $result);
}
else {
// Return array
return $result;
}
}
したがって、上記のコードは機能しませんでした。「最初のレイヤー」オブジェクトのみを変換しましたが、そのオブジェクト配列のオブジェクトは変換しませんでした(ネストされた配列とオブジェクトについて話している)。しかし、関数objectToArrayのようなクラスの外でそれを宣言し、array_mapの引数を「objectToArry」に変更すると、突然機能し始めました。どうして ?PHP のクラス内の再帰関数に問題はありますか?