Bài 09: Hàm random_int() và random_bytes() trong 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 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.

Hãy để lại link bài viết gốc khi chia sẻ bài viết này, mình sẽ report DMCA với những website lấy nội dung mà không để nguồn hoặc copy bài với số lượng lớn.

Nguồn: freetuts.net

Profile photo of adminTheHalfHeart

TheHalfHeart

Có sở thích viết tuts nên đã từng tham gia viết ở một số diễn đàn, đến năm 2014 mới có điều kiện sáng lập ra freetuts.net. Sinh năm 90 và có 1 vợ 2 con, thích ca hát và lập trình.

ĐĂNG BÌNH LUẬN: Đăng câu hỏi trên Group Facebook để được hỗ trợ nhanh nhất.