W3docs

lcg_value()

Today, we will discuss the lcg_value() function in PHP. This function is used to generate a pseudo-random number using the linear congruential generator (LCG)

The lcg_value() function in PHP is a built-in function that generates a pseudo-random float between 0 and 1 using the linear congruential generator (LCG) algorithm. It does not accept parameters and relies on a fixed internal seed to produce its sequence.

What is the lcg_value() Function?

The lcg_value() function is a built-in PHP function that generates a pseudo-random float between 0 and 1 using the linear congruential generator (LCG) algorithm. It does not require any parameters and uses a fixed internal seed to produce its sequence.

How to Use the lcg_value() Function

Using the lcg_value() function in PHP is straightforward. Here is a basic example:

How to Use the lcg_value() Function in PHP?

<?php
// Generate a pseudo-random number using the lcg_value() function
$random_number = lcg_value();

// Output the random number
echo $random_number;
?>

In this example, we call the lcg_value() function to generate a pseudo-random number. We then store the result in a variable and output it to the screen.

Generating Numbers in a Specific Range

Since lcg_value() returns a float between 0 and 1, you can scale it to fit a desired range or generate integers:

<?php
// Generate a random integer between 1 and 100
$min = 1;
$max = 100;
$random_int = (int)($min + lcg_value() * ($max - $min + 1));

echo $random_int;
?>

Important Notes

  • Not Cryptographically Secure: The LCG algorithm is predictable and should not be used for security-sensitive tasks like generating tokens, passwords, or session IDs. For cryptographic purposes, use random_int() or random_bytes().
  • Fixed Seed: The function uses a fixed internal seed, meaning the sequence of numbers will be identical across different script executions unless the PHP process is restarted.

Conclusion

The lcg_value() function provides a simple way to generate pseudo-random floats in PHP. While it is useful for basic simulations or non-security applications, modern PHP development typically favors random_int() for better randomness and security. We hope this guide helps you understand how to use lcg_value() effectively in your projects.

Practice

Practice

What does the lcg_value() function in PHP do?