search

Factorial in PHP

Aug 29, 2024 pm 01:12 PM
php

Before we begin learning of Factorial in PHP, let us understand the term factorial. Factorial of a number is the product of all numbers starting from 1 up to the number itself. While calculating the product of all the numbers, the number is itself included.

ADVERTISEMENT Popular Course in this category PHP DEVELOPER - Specialization | 8 Course Series | 3 Mock Tests

Start Your Free Software Development Course

Web development, programming languages, Software testing & others

Factorial of a number is calculated for positive integers only. The factorial of 0 is always 1 and the factorial of a negative number does not exist. It is denoted by ‘!’ preceded by the number. Example n! where n is the number

So,

Factorial of 5! means factorial of 5

Factorial of 7! means factorial of 7

For example, the factorial of number 5 is:

5! =5*4*3*2*1 = 120

Similarly, the factorial of number 7 is:

7! = 7*6*5*4*3*2*1 = 5040

and so on..

Now how do we actually find the factorial, we can do it using

  1. for loop (without recursion)
  2. with recursion

Factorial Logic

The logic behind getting the factorial of the number is as per the following.

  1. Get the number whose factorial is to be calculated.
  2. Get all the numbers starting from 1 up to that number.
  3. Get the multiplication of all the numbers.

Remember the factorial of 0! = 1.

How to Find Factorial in PHP?

We will learn further using different methods to calculate factorial of the given number using PHP code. Like using recursion, recursion with user input, without recursion, without recursion with user input.

About Recursion

Like other languages PHP also supports Recursion. What is recursion? When a function calls itself is termed as recursion. A recursive function calls itself within the function.

Example #1

In the following PHP program factorial of number 5 is calculated. This is a simple program using for loop. This for loop is iterated on the sequence of numbers starting from the number till 1 is reached.

Code:

<?php //example to calculate factorial of a number using simple for loop
//declaring the input number as 5
$input=5;
//declaring the fact variable as 1
$fact =1;
//iterating using for loop
for($i=$input; $i>=1;$i--) {
// multiply each number up to 5 by its previous consecutive number
$fact = $fact * $i;
}
// Print output of the program
echo '<br>'. 'The factorial of the number 5 is '. $fact
?>

Output:

Factorial in PHP

Example #2

In the below program, we have used a simple HTML form with an input text and a submit button. The input box is used to get user input. The submit button is used to submit the form data. Followed by that is the PHP code to iterate for loop wherein all the logic is present, which we learned in the previous program. So now the same logic is used with an input form.

If the user inputs a positive number through the input box in the form, the factorial of that number is calculated and the result is printed.

Code:


<title> Factorial Program</title>


=1;$i--) { $fact = $fact * $i; } // Print output of the program echo '
'. 'The factorial of the number '.$input.' is ' . $fact; } ?>

Output :

Factorial in PHP

Example #3

In the above two programs, we didn’t wrap the logic within a function. Here we have enclosed the main logic in a function and then called that function to calculate the factorial of the given number in PHP. Here the name of the function is Factorial_Function which finds the factorial of number 8.

Code:

//example to calculate factorial of a number using function
//defining the factorial function
function Factorial_Function($number) {
$input = $number;
$fact=1;
//iterating using for loop
for($i=$input; $i>=1;$i--) {
$fact = $fact * $i;
}
return $fact;
}
//calling the factorial function
$result = Factorial_Function(8);
echo 'Factorial of the number 8 is '.$result;
?>

Output :

Factorial in PHP

Example #4

We know that recursion is calling a function within a function. In the following example, we will use recursion and find the factorial of the number using PHP code. The main logic is wrapped in a function name Factorial_Function. Within this function if the input is greater that one, then the same function is called again and if the input is less than or equal to 1 then one is returned.

Using Recursion

Code:

<?php //Example to demonstrate factorial of a number using recursion
//function containing logic of factorial
function Factorial_Function($input)
{
// if the input is less than or equal to 1 then return
if($input <=1) {
return 1;
}
// else do a recursive call and continue to find the factorial
return $input * Factorial_Function($input-1);  //doing a recursive call
}
echo "Factorial of 9 is ".Factorial_Function(9);
?>

Output :

Factorial in PHP

Example #5

We have now learned about recursion. In the following program, we have used recursion, the recursion is applied to the number which is the input from the user in this example.

Code:


<title> Factorial Program</title>


'. 'The factorial of the number '.$input.' is ' . Factorial_Function($input); } ?>

Output:

Factorial in PHP

Conclusion

This article has covered all the explanations and examples for finding the factorial of a number using PHP. Examples are explained using recursive and non-recursive ways, along with recursion explanation in context with the program. Hope this article was found informative to learn and grasp well.

The above is the detailed content of Factorial in PHP. For more information, please follow other related articles on the PHP Chinese website!

Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
How can you prevent session fixation attacks?How can you prevent session fixation attacks?Apr 28, 2025 am 12:25 AM

Effective methods to prevent session fixed attacks include: 1. Regenerate the session ID after the user logs in; 2. Use a secure session ID generation algorithm; 3. Implement the session timeout mechanism; 4. Encrypt session data using HTTPS. These measures can ensure that the application is indestructible when facing session fixed attacks.

How do you implement sessionless authentication?How do you implement sessionless authentication?Apr 28, 2025 am 12:24 AM

Implementing session-free authentication can be achieved by using JSONWebTokens (JWT), a token-based authentication system where all necessary information is stored in the token without server-side session storage. 1) Use JWT to generate and verify tokens, 2) Ensure that HTTPS is used to prevent tokens from being intercepted, 3) Securely store tokens on the client side, 4) Verify tokens on the server side to prevent tampering, 5) Implement token revocation mechanisms, such as using short-term access tokens and long-term refresh tokens.

What are some common security risks associated with PHP sessions?What are some common security risks associated with PHP sessions?Apr 28, 2025 am 12:24 AM

The security risks of PHP sessions mainly include session hijacking, session fixation, session prediction and session poisoning. 1. Session hijacking can be prevented by using HTTPS and protecting cookies. 2. Session fixation can be avoided by regenerating the session ID before the user logs in. 3. Session prediction needs to ensure the randomness and unpredictability of session IDs. 4. Session poisoning can be prevented by verifying and filtering session data.

How do you destroy a PHP session?How do you destroy a PHP session?Apr 28, 2025 am 12:16 AM

To destroy a PHP session, you need to start the session first, then clear the data and destroy the session file. 1. Use session_start() to start the session. 2. Use session_unset() to clear the session data. 3. Finally, use session_destroy() to destroy the session file to ensure data security and resource release.

How can you change the default session save path in PHP?How can you change the default session save path in PHP?Apr 28, 2025 am 12:12 AM

How to change the default session saving path of PHP? It can be achieved through the following steps: use session_save_path('/var/www/sessions');session_start(); in PHP scripts to set the session saving path. Set session.save_path="/var/www/sessions" in the php.ini file to change the session saving path globally. Use Memcached or Redis to store session data, such as ini_set('session.save_handler','memcached'); ini_set(

How do you modify data stored in a PHP session?How do you modify data stored in a PHP session?Apr 27, 2025 am 12:23 AM

TomodifydatainaPHPsession,startthesessionwithsession_start(),thenuse$_SESSIONtoset,modify,orremovevariables.1)Startthesession.2)Setormodifysessionvariablesusing$_SESSION.3)Removevariableswithunset().4)Clearallvariableswithsession_unset().5)Destroythe

Give an example of storing an array in a PHP session.Give an example of storing an array in a PHP session.Apr 27, 2025 am 12:20 AM

Arrays can be stored in PHP sessions. 1. Start the session and use session_start(). 2. Create an array and store it in $_SESSION. 3. Retrieve the array through $_SESSION. 4. Optimize session data to improve performance.

How does garbage collection work for PHP sessions?How does garbage collection work for PHP sessions?Apr 27, 2025 am 12:19 AM

PHP session garbage collection is triggered through a probability mechanism to clean up expired session data. 1) Set the trigger probability and session life cycle in the configuration file; 2) You can use cron tasks to optimize high-load applications; 3) You need to balance the garbage collection frequency and performance to avoid data loss.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

SublimeText3 English version

SublimeText3 English version

Recommended: Win version, supports code prompts!

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser is a secure browser environment for taking online exams securely. This software turns any computer into a secure workstation. It controls access to any utility and prevents students from using unauthorized resources.

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

EditPlus Chinese cracked version

EditPlus Chinese cracked version

Small size, syntax highlighting, does not support code prompt function