Рекурсивные функции PHP

Введение рекурсивных функций:

PHP также поддерживает рекурсивный вызов функций, такой как C++/C и другие языки. В таком случае. Рекурсивная функция — это функция, которая вызывает повторение снова и снова, пока не будет достигнуто конечное условие. Рекурсия — одна из тех тем, которые поначалу могут показаться запутанными, но как только вы начнете писать рекурсивные функции, вы увидите, насколько элегантной может быть рекурсия! Рекурсию можно рассматривать как альтернативу итерации, то есть for и whileциклов.

Пример 1: Печать номера

<?php
function printNumber($i){
//Breaking Condition
   if ($i>5) {
    return;
   }
  echo $i."\n";
  $i++;
  printNumber($i);
}
printNumber(1);

Вывод:

1
2
3
4
5

Во-первых, вам нужно выполнить часть условий поломки. Если вы забудете выполнить «Нарушение условия» или ложное условие, то вы попадете в бесконечный цикл. Поэтому всегда старайтесь сначала выполнить часть «Нарушение условий». Это поможет вам уменьшить некоторые ошибки. Эта программа будет печатать число от одного до пяти. В этом коде функция, используемая для печати числа, — это имя printNumber(), а $i — это имя переменной, которая поможет printNumber()функция получает некоторое значение, которое в конечном итоге приведет к ее вызову. Если оператор используется для выполнения проверки условия. Программа должна продолжать выполняться до тех пор, пока фиксированное значение, сохраненное в переменной $i, не станет меньше единицы. Когда хранящееся в нем значение превысит значение пять, условие, которое должно быть выполнено для дальнейшего выполнения программы, станет ложным, и программа будет завершена.

Пример 2: факторный номер

В предыдущей программе мы научились использовать рекурсию для отображения числа. Теперь в этой программе мы узнаем, как изменить логику приложения, чтобы найти факториал. Прежде чем мы начнем писать код для вычисления факториала, необходимо понять, что такое факториал. Факториал любого числа — это значение, которое получается путем уменьшения числа на единицу, а затем умножения результата на число, и это нужно повторять до единицы. Например, если нам нужно вычислить факториал 5, его можно вычислить, используя 5*4*3*2*1. Таким образом, результатом будет 120. В приведенной ниже программе значение будет указано в программе. Программа будет обрабатывать значение для расчета результата факториала. Значение будет передано через функцию, а затем вся написанная логика будет закреплена на нем для вычисления результата. Ниже приведена программа, поэтому давайте перейдем к ее рассмотрению.

function factorial($number) {
    if ($number == 0) {
       return 1;
     }
    return $number * factorial($number - 1);
  }
  echo factorial(5);

Вывод:

120

Приведенный выше код представляет собой реализацию факториала с использованием PHP. Имя функции factorial(), которая будет использоваться для вычисления факториала. В ней была вызвана одноименная функция, которая используется для реализации механизма факториала в программе. $number — это переменная, в которой будет храниться значение, для которого мы должны найти факториал. Мы использовали проверку условия ЕСЛИ, чтобы убедиться, что оно соответствует требованиям, которые считаются важными, когда речь идет о вычислении факториала любого значения. В самой последней строке был выполнен основной вызов функции factorial(), которая вызвала функциональность, определенную в этой функции. На этот раз мы прошли четыре, так как хотели вычислить факториал четырех. В случае, если вы хотите попробовать этот код с другими значениями и заменить $number 4 в этой программе на значение, которое вы хотите найти факториал.