PHP 再帰関数

王林
リリース: 2024-08-29 12:46:53
オリジナル
804 人が閲覧しました

プログラミング言語は、単純なアプリケーションと複雑なアプリケーションの開発を可能にするいくつかの機能の使用を提供します。機能は、要件を満たすためにステートメントに記述されたキーワードを使用してプログラムに実装されています。機能はアプリケーション開発をサポートし、ロジックによって促進されます。この記事では、PHP 再帰関数について学びます。再帰は、記述されたステートメントによって関数を呼び出すことができるアプローチと考えることができます。再帰は、C/C++ などの言語でサポートされている機能です。関数を使用してPHPで再帰を実装します。再帰の詳細に入る前に、再帰の実際の意味はプログラミング用語であることに留意してください。以下では、PHP 再帰関数の例について学習します:

PHP 再帰関数の例

以下は PHP 再帰関数の例です:

広告 このカテゴリーの人気コース PHP 開発者 - 専門分野 | 8コースシリーズ | 3 つの模擬テスト

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

1.番号を印刷するプログラム

再帰の概念を理解するために、いくつかの例を考えてみましょう。この例では、数値を出力するメソッドを使用しますが、他のプログラムと異なる唯一の方法は、この中で再帰を使用することです。これは、同じ関数内で定義されたステートメントから関数を呼び出すことになるためです。再帰の機能を提供するために、ログインを邪魔して、特定の条件が満たされるまで関数を何度も呼び出すようにします。再帰を実装する必要がある通常の場合は、単純にループを使用して実装しますが、ループを使用せずにループの概念を実装する場合は、再帰を使用して同じ機能を実現できます。

数値の出力に使用する例は、loop ステートメントを使用せずに再帰を実行する場合に非常に役立ちます。プログラムは最初に、再帰メカニズムの実装に使用される関数を定義します。プログラムには同じ名前の関数が含まれており、その関数はプログラム内で定義された関数を使用して呼び出されます。以下のプログラムは単純に見えますが、再帰関数の理解を強化するのに非常に役立ちます。以下は、数字を出力するために使用されるプログラムのコードです。

コード:

<?php
function show_number($digit) {
if($digit<8){
echo "The number is $digit <br/>";
show_number($digit+1);
}
}
show_number(1);
?>
ログイン後にコピー

このプログラムは 1 から 7 までの数字を出力し、数字が出力される前に「The number is」という文字列が表示されます。このプログラムでは、数値を表示するために使用される関数の名前は show_number で、数字は show_number 関数が最終的に呼び出しにつながる値を取得するのに役立つ変数の名前です。 IF ステートメントは、条件チェックを実行するために使用されます。プログラムは、桁変数に格納されている固定値が 8 未満になるまで実行を続けます。格納されている値が 7 を超えると、プログラムをさらに実行するために満たさなければならない条件が false となり、プログラムは終了します。以下は、このプログラムの出力です。

出力:

PHP 再帰関数

2.再帰関数で階乗数を求めるプログラム

前回のプログラムでは、再帰を活用して数値を出力する方法を学びました。このプログラムでは、階乗を見つけるためにアプリケーションのロジックを変更する方法を学びます。階乗を計算するコードを書き始める前に、階乗とは何かを理解することが重要です。任意の数値の階乗は、数値を 1 減算し、その結果に数値を乗算して得られる値であり、これを 1 になるまで繰り返す必要があります。たとえば、4 の階乗を計算する必要がある場合、4*3*2*1 を使用して計算できます。したがって、結果は 24 になります。以下のプログラムでは、値はプログラム内で指定されます。プログラムは値を処理して階乗の結果を計算します。値は関数を介して渡され、その後、結果を計算するために記述されたすべてのロジックが関数に適用されます。以下にプログラムを示しますので、見ていきましょう。

コード:

<?php
function calculate_fact($val)
{
if ($val === 0)
{
return 1;
}
else
{
return $val * calculate_fact($val-1);
}
}
echo "The factorial is of the given number is". calculate_fact(4);
?>
ログイン後にコピー

出力:

PHP 再帰関数

Kod yang ditulis di atas ialah pelaksanaan faktorial menggunakan PHP. Nama fungsi ialah hitung_fakta yang akan digunakan untuk mengira faktorial. Fungsi dengan nama yang sama telah dipanggil di dalamnya yang digunakan untuk melaksanakan mekanisme faktorial dalam program. Val ialah pembolehubah yang akan menyimpan nilai yang mana kita perlu mencari faktorial. Kami telah menggunakan semakan keadaan IF untuk memastikan bahawa ia memenuhi keperluan yang dianggap penting semasa pengiraan faktorial bagi sebarang nilai. Dalam baris terakhir, panggilan utama fungsi hitung_fakta telah dilakukan yang telah menggunakan fungsi yang ditakrifkan dalam fungsi ini. Pada masa ini, kami telah melepasi empat kerana kami ingin mengira pemfaktoran empat. Sekiranya anda ingin mencuba kod ini dengan nilai yang berbeza dan gantikan digit 4 dalam program ini dengan nilai yang anda ingin cari faktorial.

Kesimpulan

Rekursi fungsi dianggap sesuatu yang sangat berguna apabila terdapat sebarang keperluan dalam program untuk membawa fungsi rekursi tanpa menggunakan gelung. Walaupun kami telah menggunakan dua atur cara mudah yang menggunakan rekursi untuk mengira faktorial dan mencetak nombor, terdapat terlalu banyak ciri yang diperkenalkan dalam aplikasi menggunakan pengulangan fungsi ini.

Artikel Disyorkan

Ini adalah panduan untuk Fungsi Rekursif PHP. Di sini kita membincangkan pengenalan kepada contoh PHP Recursive Function bersama dengan pelaksanaan dan output kod. Anda juga boleh menelusuri artikel cadangan kami yang lain untuk mengetahui lebih lanjut –

  1. Palindrom dalam PHP (Contoh)
  2. Apakah itu Kelas Abstrak dalam PHP?
  3. Pengaturcaraan Soket dalam PHP dengan Kaedah
  4. Pengenalan kepada Faktorial dalam PHP

以上がPHP 再帰関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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