Trong PHP, hàm bccomp() được dùng để so sánh hai số tùy ý. Hàm bccomp() nhận hai số độ chính xác tùy ý dạng chuỗi và trả về kết quả dưới dạng số nguyên sau khi so sánh hai số.
Cú pháp
int bccomp(string $left_string1, string $right_string2, ?int $scaleval = null)
Tham số
Hàm bccomp() chấp nhận ba tham số: $left_string1, $right_string2 và $scaleval.
$left_string1 – Toán hạng trái của một trong hai số cần so sánh, kiểu chuỗi.
$right_string2 – Toán hạng phải của một trong hai số cần so sánh, kiểu chuỗi.
$scaleval – Số chữ số sau dấu thập phân dùng trong so sánh. Kiểu integer, mặc định là 0.
Giá trị trả về
Hàm bccomp() trả về giá trị nguyên của phép so sánh hai số $left_string1 và $right_string2:
- Nếu $left_string1 > $right_string2, trả về 1.
- Nếu $left_string1 < $right_string2, trả về -1.
- Nếu hai số bằng nhau, trả về 0.
Ví dụ 1 – Tham số bằng nhau
<?php
$left_string1 = "3.12";
$right_string2 = "3";
$result = bccomp($left_string1, $right_string2);
echo "Kết quả: " . $result;
?>
Kết quả
Kết quả: 0
Trả về 0 vì dùng tham số bằng nhau không có scale.
Ví dụ 2 – Giá trị trái lớn hơn
<?php
$left_string1 = "30.12"; // left > right
$right_string2 = "3";
$scaleval = 2;
$result = bccomp($left_string1, $right_string2);
echo "Kết quả: " . $result;
?>
Kết quả
Kết quả: 1
Trả về 1 vì giá trị Trái lớn hơn Phải.
Ví dụ 3 – Giá trị phải lớn hơn
<?php
$left_string1 = "30.12";
$right_string2 = "35"; // Right > Left
$scaleval = 2;
$result = bccomp($left_string1, $right_string2);
echo $result;
?>
Kết quả
-1
Trả về -1 vì giá trị Phải lớn hơn Trái.