Hướng dẫn dùng random math trong PHP

- Ở bài học trước, tôi đã giới thiệu sơ qua về phương thức random() của đối tượng Math, nó dùng để tạo một số ngẫu nhiên trong khoảng từ 0 đến 1 (không bao gồm số 1)

- Tuy nhiên không dừng lại ở đó, nếu phương thức random() được sử dụng kết hợp với các phương thức khác thì nó có thể tạo ra những số ngẫu nhiên đa dạng hơn.

- Ở bài hướng dẫn này, tôi sẽ giới thiệu đến bạn kỹ thuật để tạo một số ngẫu nhiên đa dạng hơn thông qua những ví dụ.

1) Tạo một số nguyên ngẫu nhiên

Tạo một số nguyễn ngẫu nhiên trong đoạn từ 0 đến 9


Xem ví dụ

Tạo một số nguyễn ngẫu nhiên trong đoạn từ 0 đến 10


Xem ví dụ

Tạo một số nguyễn ngẫu nhiên trong đoạn từ 0 đến 99


Xem ví dụ

Tạo một số nguyễn ngẫu nhiên trong đoạn từ 0 đến 100


Xem ví dụ

Tạo một số nguyễn ngẫu nhiên trong đoạn từ 1 đến 10


Xem ví dụ

Tạo một số nguyễn ngẫu nhiên trong đoạn từ 1 đến 100


Xem ví dụ

Tạo một số nguyễn ngẫu nhiên trong đoạn từ 3 đến 7


Xem ví dụ

Tạo một số nguyễn ngẫu nhiên trong đoạn từ 3 đến 9


Xem ví dụ

2) Xây dựng hàm dùng để tạo số nguyên ngẫu nhiên

- Ta thấy trong mỗi ví dụ phía trên, giá trị trả về luôn nằm trong một đoạn nhất định, ví dụ:

  • Từ 0 đến 9
  • Từ 1 đến 100
  • Từ 3 đến 7
  • ....

    ==> Điều đó thật hạn chế nếu như ta muốn tạo nhiều số nguyên trong nhiều đoạn khác nhau.

- Từ đây, để giải quyết vấn đề này thì chúng ta nên xây dựng một hàm tạo số nguyên ngẫu nhiên, chỉ với việc thay đổi giá trị của tham số là ta đã có thể xác định được một đoạn mới.

Tạo một số nguyên ngẫu nhiên trong đoạn từ "min" đến "max" (không bao gồm max)


Xem ví dụ

Tạo một số nguyên ngẫu nhiên trong đoạn từ "min" đến "max" (bao gồm max)


Xem ví dụ

PHP có xây dựng sẵn rất nhiều hàm toán học (math function) giúp thao tác, tính toán trên các con số. Trong bài này, chúng ta sẽ tìm hiểu cách sử dụng một số math functions. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP. Và các bạn cần đọc lại bài Sử dụng kiểu dữ liệu số (number) trong PHP để nắm vững về kiểu number trong PHP.

Hàm pi() giúp trả về giá trị của số PI.


2. Hàm min() và max() trong PHP

Hàm min()max() giúp tìm ra giá trị nhỏ nhấtgiá trị lớn nhất trong các số cụ thể.


3. Hàm abs() trong PHP

Hàm abs() giúp trả về giá trị tuyệt đối của một số.


4. Hàm sqrt() trong PHP

Hàm sqrt() giúp trả về căn bậc 2 của một số.


5. Hàm round() trong PHP

Hàm round() giúp làm tròn một số thực (Float) thành một số nguyên (Integer) gần nhất.


6. Hàm rand() trong PHP

Hàm rand() giúp trả về một số ngẫu nhiên (random number). Chúng ta có thể sử dụng tham số minmax của rand() để chỉ định giá trị ngẫu nhiên nhỏ nhất và lớn nhất được trả về.

";
echo(rand(21, 99));
?>

7. Hàm base_convert() trong PHP

Hàm base_convert() giúp chuyển đổi một số giữa các hệ cơ số khác nhau. Cú pháp:

base_convert(string $num, int $from_base, int $to_base): string

Trong đó,

  • $num: Số cần chuyển đổi.
  • $from_base: Từ một hệ cơ số.
  • $to_base: Sang hệ cơ số khác.
";
$octal = '17';
// output 1111
echo base_convert($octal, 8, 2);
echo "
"; $binary = '10110000'; // output b0 echo base_convert($binary, 2, 16); echo "
"; // wrong base $test = '12'; // output 1 echo base_convert($octal, 2, 8); ?>

8. Hàm pow() trong PHP

Hàm pow() trả về giá trị x lũy thừa y.

");
// output 16
echo(pow(-2,4) . "
"); // output 0.0625 echo(pow(-2,-4) . "
"); // output NAN echo(pow(-2,-3.2)); ?>

9. Hàm exp() trong PHP

Hàm exp(x) trả về giá trị của số E lũy thừa x. Số E xấp xỉ 2.718282.

");
// output 2.718281828459
echo(exp(1) . "
"); // output 22026.465794807 echo(exp(10) . "
"); // output 121.51041751873 echo(exp(4.8)); ?>

10. Những hằng toán học trong PHP

PHP đã định nghĩa sẵn một số hằng toán học (Predefined Math Constants). Bảng bên dưới là một số hằng toán học trong PHP.

Hằng Giá trị Mô tả
INF INF Vô cực
M_E 2.7182818284590452354 Số e
M_EULER 0.57721566490153286061 Hằng số Euler
M_PI 3.14159265358979323846 Số Pi
NAN NAN Not A Number
PHP_ROUND_HALF_UP 1 Làm tròn lên
PHP_ROUND_HALF_DOWN 2 Làm tròn xuống

PHP còn rất nhiều hàm toán học khác, các bạn có thể thao khảo thêm ở Math Functions PHP. Ngoài ra, PHP cũng còn nhiều Predefined Constants khác, các bạn có thể tham khảo thêm ở Predefined Constants.

  • Chương trình tìm dãy số Fibonacci trong Java
  • Chỉ định truy cập (access modifier) của thành viên thuộc lớp trong Java
  • Khái niệm biến (variable) và cách khai báo biến trong Java
  • Các loại hàm (function) có thể được định nghĩa trong C++
  • Thuật toán sắp xếp Quick Sort