• ベストアンサー

phpで以下のコードが次の認識であっているかどうか

phpで以下のコードが次の認識であっているかどうかおしえてください 1番が正しいコードで2番が私が考えたコードです なぜ2番だとエラーになるんでしょうか? 1番 <?php function say_hello($greeting) { echo $greeting."\n"; }; say_hello("Good morning"); 2番 <?php function say_hello() { echo say_hello()."\n"; }; say_hello("Good morning"); php

質問者が選んだベストアンサー

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5238/13705)
回答No.2

function say_hello() と引数の定義が無いのに say_hello("Good morning"); と引数を渡しているので構文エラーになります。 say_hello() 関数内で echo say_hello()."\n"; と同じ関数を呼び出して処理結果を出力しようとしていますが、say_hello() 関数には戻り値が無いので何も出力されません。 また、再帰呼び出しを行った場合の終了条件がプログラムされていないので無限ループになってしまい、プログラムが終了しません。

okwaveokw
質問者

お礼

ありがとうございます

その他の回答 (1)

  • Kaneyan-R
  • ベストアンサー率42% (1340/3126)
回答No.1

エラーの理由 1.関数に引数がないのに、引数を渡している。 2.関数内で自身を呼び出している。

okwaveokw
質問者

お礼

ありがとうございます

関連するQ&A