Membuat Nomor Acak dengan PHP - Mari Belajar Coding

Sabtu, 28 Desember 2019

Membuat Nomor Acak dengan PHP


Membuat Nomor Acak dengan PHP

Nomor acak atau random number merupakan sebuah fungsi untuk membuat nomor acak secara otomatis. Dalam pembuatan sebuah aplikasi tentu fungsi random ini sangat berguna seperti pembuatan captcha password, otp sms, generate token, kode qrcode dan sebagainya.

PHP sendiri sudah menyediakan fungsi untuk generate random number secara otomatis menggunakan rand dan mt_rand. Fungsi ini bisa dijalankan di PHP 4, 5 dan 7.

Random Integer
Penggunaan fungsi rand sangat mudah, kita hanya menentukan nilai minimal dan maksimal sesuai kebutuhan berapa nomor yang akan kita acak. Bentuk umum fungsi rand seperti dibawah ini.

rand ( int $min , int $max ) 

Contoh:

<?php

$rand = rand(10, 50);

echo $rand;

?>

hasil dari program diatas jika dijalankan maka akan mengacak nomor dari nilai 10 hingga 50. Jika teman-teman tidak mengisi nilai min dan maks maka akan menampikan nomor acak dari 0 hingga getrandmax().

Contoh penggunaan mt_rand.

<?php

$mt_rand = mt_rand(1000, 9999);

echo $mt_rand;

?>

Program diatas akan mengacak nomor dari nilai 1000 hingga 9999. Fungsi mt_rand() ini lebih cepat daripada rand().

Shuffle String
Kita juga bisa mengacak gabungan angka dan string karakter dengan fungsi shuffle.

<?php

$karakter = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789';
$shuffle  = str_shuffle($karakter);
echo $shuffle;

?>

Hasil program diatas jika dijalankan seperti gambar dibawah ini.
Membuat Nomor Acak dengan PHP


Untuk menentukan jumlah karakter yang akan kita buat tambahkan fungsi substr. Contoh dibawah ini kita akan menampilkan 5 karakter dari hasil pengacakan.

<?php

$karakter = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789';
$shuffle  = substr(str_shuffle($karakter), 0, 5);
echo $shuffle;

?>


Random Integer & String
Penerapan fungsi acak integer dan string karakter bisa menggunakan fungsi dibawah ini.

<?php


function randomString($length)
{
    $str        = "";
    $characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789';
    $max        = strlen($characters) - 1;
    for ($i = 0; $i < $length; $i++) {
        $rand = mt_rand(0, $max);
        $str .= $characters[$rand];
    }
    return $str;
}


echo randomString(5); //hasil: 5bxqw
echo "<br>";
echo randomString(10); //hasil: U8YjlmXRFJ
echo "<br>";
echo randomString(15); //hasil: yGei7kH3LMHvxaq
echo "<br>";

?>

Related Posts

Load comments