ループ内のループは明らかに限界 0,1 ですが、Web ページに表示される内容は累積的です。
GetSubList Medium $str はグローバル変数です
$str .= .... だけでは $str コードはクリアされません
そのため、GetList のループでは、GetSubList は蓄積された結果を返します
グローバル変数を削除するだけで済みます$str を宣言するだけです
GetSubList では $str はグローバル変数
のみ $str .= .... は $str コードをクリアしません
ので、 GetList GetSubList のループは累積された結果を返します
$str のグローバル宣言を削除するだけです
26 行を削除
または $str = ''
に変更します。