Toán tử số học trong PHP | Laptrinhcanban.com

Toán tử số học trong PHP

Cùng tìm hiểu về toán tử số học trong PHP. Bạn sẽ biết các loại toán tử số học, cũng như cách sử dụng chúng để thực hiện các phép toán số học trong PHP sau bài học này.

Toán tử số học trong PHP là gì

Toán tử số học trong PHP là các toán tử sử dụng để thực hiện các phép tính toán với số trong PHP. Có tất cả 5 loại toán tử số học trong PHP như bảng sau đây.

Toán tửVí dụÝ nghĩa
+A + BThêm B vào A
-A -BTrừ B cho A
*A * BNhân A với B
/A / BChia A cho B
%A% BDư của phép chia A cho B
**A ** BLũy thừa B của A

Hai giá trị sử dụng trong tính toán với toán tử số học được gọi là toán hạng trong PHP. Bằng cách sử dụng toán tử số học, chúng ta có thể tính toán với các toán hạng, cũng như trả về kết quả của phép tính toán đó.

Ví dụ cụ thể, chúng ta sử dụng các toán tử số học để tính toán với các toán hạng là các số nguyên như sau:

$num = 10 + 4;   // num = 14
$num = 9 - 2; // num = 7
$num = 3 * 8; // num = 24
$num = 7 / 3; // num = 2
$num = 7 % 3; // num = 1
$num = 7 ** 3; // num = 343

Giống như trên, kết quả của các phép toán sẽ được gán vào biến ở bên trái, thông qua toán tử = trong PHP.

Toán tử cộng trong PHP

Khi viết toán tử cộng trong PHP giữa các hạng tử thuộc kiểu số thì phép cộng giữa các số này sẽ được thực hiện. Ví dụ:

echo 1 + 5;
// 6

echo 4.24 + 1;
// 5.24

echo 2.5 + 14.523;
// 17.023

Khác với các ngôn ngữ lập trình khác thì tất cả các kiểu số trong PHP đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán cộng trong PHP.

Lưu ý khi dùng toán tử cộng giữa một số và một giá trị không thuộc kiểu số, thì giá trị đó sẽ được chuyển thử về dạng số trước khi thực hiện phép cộng. Nếu có thể chuyển về kiểu số, phép cộng sẽ được thực thi bình thường và ngược lại, lỗi sẽ được trả về.

Ví dụ:

echo "5" + 1; // 6

echo null + 1; // 1. Ở đây null chuyển thành 0

echo "tokyo" + 1;
>>> PHP Fatal error: Uncaught TypeError: Unsupported operand types: string + int

Toán tử trừ trong PHP

Khi viết toán tử trừ trong PHP giữa các hạng tử thuộc kiểu số thì phép trừ giữa các số này sẽ được thực hiện. Ví dụ:

echo 1 - 5;
// -4

echo 4.24 - 1;
// 3.24

echo 2.5 - 14.523;
// -12.023

Tương tự toán tử cộng thì tất cả các kiểu số trong PHP đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán trừ trong PHP.

Và, khi dùng toán tử trừ giữa một số và một giá trị không thuộc kiểu số, thì giá trị đó sẽ được chuyển thử về dạng số trước khi thực hiện phép trừ. Nếu có thể chuyển về kiểu số, phép trừ sẽ được thực thi bình thường và ngược lại, lỗi sẽ được trả về.

Ví dụ:

echo "5" - 1; // 4

echo null - 1; // -1. Ở đây null chuyển thành 0

echo "tokyo" + 1;
>>> PHP Fatal error: Uncaught TypeError: Unsupported operand types: string - int

Toán tử nhân trong PHP

Khi viết toán tử nhân trong PHP giữa các hạng tử thuộc kiểu số thì phép nhân giữa các số này sẽ được thực hiện. Ví dụ:

echo 1 * 5;
// 5

echo 4.24 * 1;
// 4.24

echo 2.5 * 14.523;
// 36.3075

Tương tự toán tử cộng thì tất cả các kiểu số trong PHP đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán nhân trong PHP.

Và, khi dùng toán tử nhân giữa một số và một giá trị không thuộc kiểu số, thì giá trị đó sẽ được chuyển thử về dạng số trước khi thực hiện phép nhân. Nếu có thể chuyển về kiểu số, phép nhân sẽ được thực thi bình thường và ngược lại, lỗi sẽ được trả về.

Ví dụ:

echo "5" * 1; // 5

echo null * 1; // 0. Ở đây null chuyển thành 0

echo "tokyo" * 1;
>>> PHP Fatal error: Uncaught TypeError: Unsupported operand types: string * int

Toán tử chia hết trong PHP

Khi viết toán tử chia trong PHP giữa các hạng tử thuộc kiểu số thì phép chia hết giữa các số này sẽ được thực hiện. Ví dụ:

echo 1 / 5;
// 0.2

echo 5 / 1;
// 5

echo 4.24 / 2;
// 2.12

echo 2.5 / 14.523;
// 0.17214074227088066

Tương tự toán tử cộng thì tất cả các kiểu số trong PHP đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán chia hết trong PHP.

Kết quả của toán tử chia hết trong PHP sẽ bao gồm cả phần thập phân, nếu như hai hạng tử không chia hết cho nhau. Để tìm phần nguyên và phần dư trong phép chia trong PHP, hãy tham khảo bài viết Lấy số nguyên và lấy số dư trong PHP.

Và, khi dùng toán tử chia hết giữa một số và một giá trị không thuộc kiểu số, thì giá trị đó sẽ được chuyển thử về dạng số trước khi thực hiện phép chia hết. Nếu có thể chuyển về kiểu số, phép chia hết sẽ được thực thi bình thường và ngược lại, lỗi sẽ được trả về.

Ví dụ:

echo "5" / 1; // 5

echo null / 1; // 0. Ở đây null chuyển thành 0

echo "tokyo" / 1;
>>> PHP Fatal error: Uncaught TypeError: Unsupported operand types: string / int

Toán tử chia lấy dư trong PHP

Khi viết toán tử chia lấy dư trong PHP giữa các hạng tử thuộc kiểu số thì phép chia lấy dư giữa các số này sẽ được thực hiện. Ví dụ:

echo 1 % 5;
// 1

echo 5 % 1;
// 0

echo 4.24 % 2;
// 0.2400000000000002

echo 2.5 % 14.523;
// 2.5

Tương tự toán tử cộng thì tất cả các kiểu số trong PHP đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán chia lấy dư trong PHP.

Và, khi dùng toán tử chia lấy dư giữa một số và một giá trị không thuộc kiểu số, thì giá trị đó sẽ được chuyển thử về dạng số trước khi thực hiện phép chia lấy dư. Nếu có thể chuyển về kiểu số, phép chia lấy dư sẽ được thực thi bình thường và ngược lại, lỗi sẽ được trả về.

Ví dụ:

echo "5" % 1; // 0

echo null % 1; // 0. Ở đây null chuyển thành 0

echo "tokyo" % 1;
>>> PHP Fatal error: Uncaught TypeError: Unsupported operand types: string % int

Toán tử lũy thừa trong PHP

Khi viết toán tử lũy thừa trong PHP giữa các hạng tử thuộc kiểu số thì phép lũy thừa giữa các số này sẽ được thực hiện. Ví dụ:

echo 2 ** 2;
// 4

echo 5 ** 3;
// 125

echo 4.24 ** 2;
// 17.977600000000002

echo 2.5 ** 14.523;
// 601565.25703344

Tương tự toán tử cộng thì tất cả các kiểu số trong PHP đều được xử lý dưới dạng số thực 16 bit, do vậy không có sự phân biệt giữa các kiểu số với nhau trong phép toán lũy thừa trong PHP.

Và, khi dùng toán tử luỹ thừa giữa một số và một giá trị không thuộc kiểu số, thì giá trị đó sẽ được chuyển thử về dạng số trước khi thực hiện phép luỹ thừa. Nếu có thể chuyển về kiểu số, phép luỹ thừa sẽ được thực thi bình thường và ngược lại, lỗi sẽ được trả về.

Ví dụ:

echo "5" ** 2; // 25

echo null ** 2; // 0. Ở đây null chuyển thành 0

echo "tokyo" ** 2;
>>> PHP Fatal error: Uncaught TypeError: Unsupported operand types: string ** int

Toán tử số học và phép chia số 0 trong PHP

Trong toán học, chúng ta đều biết không thể chia cho số 0. Tương tự như vậy, chúng ta cũng không thể thực hiện phép chia số 0 trong PHP.

Trong trường hợp lỡ chia cho số 0, lỗi DivisionByZeroError sẽ được trả về như sau:

$d1 = 10.0 / 0;
echo $d1;

>>> PHP Fatal error: Uncaught DivisionByZeroError: Division by zero in

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về toán tử số học trong PHP rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về PHP trong các bài học tiếp theo.

Hãy chia sẻ và cùng lan tỏa kiến thức lập trình Nhật Bản tại Việt Nam!

HOME>> >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.