ホームページ > バックエンド開発 > PHPチュートリアル > PHP 再帰関数に関するいくつかの質問

PHP 再帰関数に関するいくつかの質問

WBOY
リリース: 2016-06-23 13:34:58
オリジナル
832 人が閲覧しました

あまり言うことはありません。コード内に私の質問をコメントしてください

<?phpfunction digui($i = 0) {	if ($i < 3) {		digui(++ $i);		echo $i;//当满足$i < 3已经进行递归了,当不满足,也就跳过这个判断了。为什么这里会被执行!	}	return $i;//为什么返回的不是最后一次递归后的值,3}$r = digui();var_dump($r);
ログイン後にコピー


ディスカッションに返信 (解決策)

digui(++ $i)
$i = digui(++ $i); に変更します);

digui 関数には戻り値があり、それをキャッチする人が必要です

重要なのは、それをどうやって 3 に戻すかです

再帰の一般的な意味はすでに理解されています

digi(++ $ i);

$i = digui(++ $i); に変更します

digui 関数には戻り値があるので、それをキャッチする人が必要です

何百もの投稿を読んだ後、質問して解決してみてはいかがでしょうかそれ


関数はこのように書くのが合理的です
function digui($i = 0) {    if ($i < 3) {        echo $i;        return digui(++ $i);    }    return $i;}
ログイン後にコピー

Niucha

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート