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
và $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.