06/04/2021, 14:45

Bài 09: Hàm random_int() và random_bytes() trong PHP7 - ự học PHP7

Trong PHP7 đã bổ sung hai hàm dùng để tạo giá trị ngẫu nhiên đó là hàm random_int() và random_bytes(), về chức năng thì nó giống hàm rand() trong PHP vậy. random_bytes : trả về định dạng byte random_int: trả về một số ngẫu nhiên 1. Hàm random_bytes trong PHP7 Hàm random_bytes ...

Trong PHP7 đã bổ sung hai hàm dùng để tạo giá trị ngẫu nhiên đó là hàm random_int() và random_bytes(), về chức năng  thì nó giống hàm rand() trong PHP vậy.

  • random_bytes : trả về định dạng byte
  • random_int: trả về một số ngẫu nhiên

1. Hàm random_bytes trong PHP7

Hàm random_bytes sinh ra ngẫu nhiên một chuỗi dạng byte nên rất phù hợp sử dụng trong mã hóa. Nếu bạn echo kết quả thì sẽ sinh ra những ký tự kiểu binary không thể nào đọc được.

Cú pháp

string random_bytes ( int $length )

Trong đó $length là chiều dài của chuỗi trả về.

Ví dụ:

<?php
   $bytes = random_bytes(10);
   echo $bytes; 
   echo '<br/>';
   echo (bin2hex($bytes));
?>

Trong ví dụ thứ hai mình dùng hàm bin2hex để chuyển chuỗi binary đó sang mã hexadecimal.

2. Hàm random_int trong PHP7

Hàm này sinh ra một số nằm trong khoảng min max nào đó, kết quả trả về kiểu INT (kiểu INT là thuộc hệ cơ số 10 nên việc trình bày và tính toán nó tương đối dễ hiểu).

Cú pháp:

int random_int ( int $min , int $max )

Trong đó $min$max là khoảng mà kết quả trả về sẽ nằm trong đó.

Ví dụ:

<?php
   echo random_int(10, 2000);
   echo '<br/>';
   echo random_int(-2000, 2000);
?>

3. Lời kết

Cá nhân mình thấy việc tạo số kiểu INT ngẫu nhiên trong PHP đã có hàm rand rồi nên trong hai hàm này thì hàm random_bytes là mới lạ hơn hàm random_int.

Bài tiếp
0