Longhorn PHP 2026 - Call For Papers

lcg_value

(PHP 4, PHP 5, PHP 7, PHP 8)

lcg_valueBirleşik doğrusal eşleşik üreteç

Uyarı

This function has been DEPRECATED as of PHP 8.4.0. Relying on this function is highly discouraged.

Açıklama

#[\Deprecated]
lcg_value(): float

lcg_value() işlevi (0, 1) aralığında bir sözde rastgele sayı döndürür. İşlev, 2^31 - 85 ve 2^31 - 249 periyotlu iki eşleşik üreteci birleştirir. Bu işlevin periyodu, bu iki asal sayının çarpımına eşittir.

Dikkat

Bu işlev kriptografik olarak güvenilir değerler üretmez ve kriptografik amaçlarla veya döndürülen değerlerin tahmin edilemez olmasını gerektiren amaçlarla kullanılmamalıdır.

Kriptografik olarak güvenilir rastgelelik gerekliyse Random\Randomizer sınıfı Random\Engine\Secure motoru ile kullanılabilir. Basit kullanım durumlarında random_int() ve random_bytes() işlevleri, işletim sisteminin CSPRNG’i tarafından desteklenen kullanışlı ve güvenli bir arayüz sağlar.

Dikkat

Dönüş değerini çarpma veya toplama kullanarak farklı bir aralığa ölçeklemek (yani benzeştirme dönüşümü), gerçek sayılar sayı doğrusu boyunca eşit yoğunlukta olmadığından sonuç değerinde sapmalara yol açabilir. Tüm değerler bir gerçek sayı ile tam olarak ifade edilemediğinden, benzeştirme dönüşümünün sonucu istenen aralığın dışındaki değerlere de yol açabilir.

Keyfi bir aralık içinde rastgele bir gerçek sayı üretmek için Random\Randomizer::getFloat() kullanılabilir. Keyfi bir aralık içinde rastgele bir tamsayı üretmek için Random\Randomizer::getInt() kullanılabilir.

Bağımsız Değişkenler

Bu işlevin bağımsız değişkeni yoktur.

Dönen Değerler

0.0 ve 1.0 dahil, aralarındaki bir sözde rastgele gerçek sayı değeri.

Sürüm Bilgisi

Sürüm: Açıklama
8.4.0 Bu işlevin kullanımı önerilmemekte.

Ayrıca Bakınız

add a note

User Contributed Notes 2 notes

up
16
daniel dot baulig at gmx dot de
16 years ago
Choose your weapon:
<?php
function mt_randf($min, $max)
{
    return $min + abs($max - $min) * mt_rand(0, mt_getrandmax())/mt_getrandmax(); 
}
function lcg_randf($min, $max)
{
    return $min + lcg_value() * abs($max - $min);
}
function randf($min, $max)
{
    return $min + rand(0,getrandmax()) / getrandmax() * abs($max - $min);
}?>
up
16
rok kralj gmail com
18 years ago
An elegant way to return random float between two numbers:

<?php
function random_float ($min,$max) {
   return ($min+lcg_value()*(abs($max-$min)));
}
?>
To Top