Prinsip pengulangan fungsi: fungsi memanggil dirinya sendiri (rujukan kendiri). Parameter berubah setiap kali ia dipanggil. Teruskan rekursi sehingga syarat rekursi (stop condition) dipenuhi. Aplikasi fungsi rekursif: Memudahkan masalah kompleks (menguraikannya kepada sub-masalah). Kod bersih (lebih elegan). Contoh: Kira faktorial (terurai kepada produk). Cari nenek moyang nod dalam pokok (cari secara rekursif).
Prinsip dan aplikasi panggilan rekursif fungsi PHP
Apakah itu rekursi fungsi
Rekursi fungsi merujuk kepada ciri rujukan sendiri bagi fungsi yang memanggil itu sendiri. Apabila fungsi dipanggil dalam dirinya sendiri, ia dipanggil panggilan rekursif.
Prinsip rekursi
Kelebihan rekursi
Kes permohonan
1. Kira faktorial
function factorial($number) { if ($number == 1) { return 1; } else { return $number * factorial($number - 1); } } echo factorial(5); // 输出: 120
2. Cari nenek moyang nod dalam pokok
class Node { public $data; public $children; } function findAncestors($node, $target) { if ($node->data == $target) { return [$node->data]; } else { $ancestors = []; foreach ($node->children as $child) { $ancestors = array_merge($ancestors, findAncestors($child, $target)); } if (!empty($ancestors)) { $ancestors[] = $node->data; } return $ancestors; } } $root = new Node(['data' => 'root']); $node1 = new Node(['data' => 'node1']); $node2 = new Node(['data' => 'node2']); $node3 = new Node(['data' => 'node3']); $root->children = [$node1, $node2]; $node2->children = [$node3]; $ancestors = findAncestors($root, 'node3'); var_dump($ancestors); // 输出: ['root', 'node2', 'node3']
Atas ialah kandungan terperinci Prinsip dan aplikasi panggilan rekursif fungsi PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!