條件が true の場合、「ok」が表示されないのはなぜですか? 條件がトリガーされた場合に「いいえ」と表示される理由がわかりません。
あああああなたの else
ブロックは何も返さないので、最初の試行で數(shù)字の 5 を取得しない限り、else
ブロックに移動します。このブロックはそれ自體を呼び出しますが、呼び出しは行いません。実際には最初の呼び出しに任意の値を返します。
関數(shù)が何も返さない場合は、NULL
が返されます。
また、戻り値が最初の呼び出しまでバブルアップされるように、else
ブロックに return
ステートメントを追加します。
ところで、これが実際のコードではなく、単なるテストであることを願います。これは、基本的に ok
をエコーする非常に複雑な方法にすぎないからです。 echo 'no';
再帰呼び出しの場合は、else 條件を get_number();
から return get_number();
に変更してください。
また、if 條件で return ステートメントを 2 つ使用するのはなぜですか?
リーリー最初のステートメントを保持し、2 番目の return ステートメントを削除できます。