質問: 1から入力した数値までの和を出力するphpの構文があり、 再帰呼び出しを使用して、下記の構文があるのですが 再帰呼び出しについて、あまり理解ができておらず、 どうして、sample関数をこのように記述するのかがわかりません。 どなたか、説明してもらえると幸いです。 return(1)というのもよくわかってないので、それの意味も教えてもらいたいです。 ``` 再帰呼び出しの練習 1から指定された値までの和を計算します 数値を入力:
回答: ``` function sample($arg){ if($arg == 1) return(1); else return($arg + sample($arg -1)); } ``` $argが3の時をシュミレートすると sample(3) は3+sample(2)を返す では sample(2) は2+sample(1)を返す 最後に sample(1) は1を返す つまり数学の式みたいに考えると sample(3) = 3+sample(2) sample(2) = 2+sample(1) sample(1) = 1 それぞれ代入していくと sample(3) = 6 という結果が得られるという仕組みです。