PHP toán tử số học – cách sử dụng PHP Operators

PHP toán tử số học - cách sử dụng PHP Operators

Tóm tắt: PHP toán tử số học trong bài hướng dẫn này, bạn sẽ tìm hiểu về toán tử PHP và cách sử dụng chúng một cách hiệu quả trong kịch bản của bạn.

Một toán tử lấy một hoặc nhiều giá trị, được biết đến là các toán hạng, và thực hiện một phép tính cụ thể trên chúng.

Ví dụ, toán tử + thêm hai số và trả về tổng của chúng.

PHP hỗ trợ nhiều loại toán tử:

  • Toán tử Số học
  • Toán tử Gán
  • Toán tử Bitwise
  • Toán tử So sánh
  • Toán tử Tăng/Giảm
  • Toán tử Logic
  • Toán tử Nối chuỗi

Toán tử Số học và PHP

Các PHP Operators yêu cầu các giá trị số. Nếu bạn áp dụng chúng cho các giá trị không phải số, chúng sẽ chuyển đổi chúng thành giá trị số trước khi thực hiện phép toán số học.

Dưới đây là danh sách các PHP Operators:

Toán tử Tên Mô tả
+ Cộng Trả về tổng của hai toán hạng
Trừ Trả về hiệu giữa hai toán hạng
* Nhân Trả về tích của hai toán hạng
/ Chia Trả về thương của hai toán hạng
% Số dư Trả về số dư của phép chia giữa toán hạng đầu tiên cho toán hạng thứ hai

Ví dụ sau sử dụng các toán tử số học trong PHP:

<?php

$x = 20;
$y = 10;

// Demo toán tử cộng, trừ và nhân
echo $x + $y . '<br/>';  // 30
echo $x - $y . '<br/>';  // 10
echo $x * $y . '<br/>';  // 200

// Demo toán tử chia
$z = $x / $y;
echo gettype($z)  . '<br/>'; //  số nguyên

$z = $y / $x;
echo gettype($z)  . '<br/>'; // dạng số thực

// Demo toán tử số dư
$y = 15;
echo $x % $y . '<br/>'; // 5

Toán tử So sánh

Các toán tử so sánh cho phép bạn so sánh hai toán hạng.

Một toán tử so sánh trả về một giá trị Boolean, hoặc là true hoặc là false. Nếu sự so sánh là chân thật, toán tử so sánh sẽ trả về true, ngược lại sẽ trả về false.

Dưới đây là danh sách các toán tử so sánh trong PHP:

Toán tử Tên Mô tả
== Bằng nhau Trả về true nếu cả hai toán hạng bằng nhau, ngược lại trả về false.
=== Đồng nhất Trả về true nếu cả hai toán hạng có cùng kiểu dữ liệu và bằng nhau, ngược lại trả về false.
!== Không giống nhau Trả về true nếu cả hai toán hạng không bằng nhau hoặc không có cùng kiểu dữ liệu, ngược lại trả về false.
> Lớn hơn Trả về true nếu toán hạng bên trái lớn hơn toán hạng bên phải, ngược lại trả về false.
>= Lớn hơn hoặc bằng Trả về true nếu toán hạng bên trái lớn hơn hoặc bằng toán hạng bên phải, ngược lại trả về false.
< Nhỏ hơn Trả về true nếu toán hạng bên trái nhỏ hơn toán hạng bên phải, ngược lại trả về false.
<= Nhỏ hơn hoặc bằng Trả về true nếu toán hạng bên trái nhỏ hơn hoặc bằng toán hạng bên phải, ngược lại trả về false.

Toán tử Logic

Các toán tử logic cho phép bạn xây dựng biểu thức logic. Một toán tử logic trả về một giá trị Boolean.

PHP cung cấp các toán tử logic sau:

Toán tử Tên Mô tả
&& AND Logic Trả về true nếu cả hai toán hạng đều là true, ngược lại trả về false. Nếu toán hạng đầu tiên là false, nó sẽ không đánh giá toán hạng thứ hai vì nó biết chắc chắn kết quả sẽ là false. Điều này được gọi là short-circuiting.
|| OR Logic Trả về true nếu một trong hai toán hạng là true, ngược lại trả về false. Nếu toán hạng đầu tiên là true, nó sẽ không đánh giá toán hạng thứ hai.
xor XOR Logic Trả về true nếu một trong hai toán hạng, không phải cả hai, là true, ngược lại trả về false.
! NOT Logic trả về true nếu toán hạng là false, và trả về false nếu toán hạng là true.

Toán tử Bitwise

Các toán tử Bitwise thực hiện các phép toán trên biểu diễn nhị phân của các toán hạng. Dưới đây là minh họa các toán tử Bitwise trong PHP:

Toán tử Tên Kết quả
$x & $y AND Nếu cả hai bit đều là 1, bit tương ứng trong kết quả là 1; ngược lại, bit tương ứng là 0
$x | $y Hoặc (hoặc) Nếu cả hai bit là 0, bit tương ứng trong kết quả là 0; ngược lại, bit tương ứng là 1
$x ^ $y XOR (hoặc độc quyền) Nếu mỗi bit, nhưng không phải cả hai, trong $x$y là 1, bit tương ứng trong kết quả là 1; ngược lại, bit tương ứng là 0
~ $x NOT Thay đổi bit 1 thành 0 và 0 thành 1 trong toán hạng $x
$x << $y Dịch trái Dịch các bit trong $x sang trái số lần được chỉ định bởi $y.
$x >> $y Dịch phải Dịch các bit trong $x sang phải số lần được chỉ định bởi $y.

Toán tử Tăng/Giảm

Toán tử Tăng (++) và Giảm (–) cho bạn một cách nhanh chóng để tăng và giảm giá trị của một biến đi 1.

Bảng dưới đây minh họa các toán tử tăng và giảm:

Ví dụ Tên Giá trị Trả về Công hiệu đối với $a
++$a Tăng trước $a + 1 Tăng $a lên 1, sau đó trả về $a.
$a++ Tăng sau $a Trả về $a, sau đó tăng $a lên 1.
--$a Giảm trước $a - 1 Giảm $a đi 1, sau đó trả về $a.
$a-- Giảm sau $a Trả về $a, sau đó giảm $a đi 1.

Toán tử Nối chuỗi

Toán tử nối chuỗi (.) cho phép bạn kết hợp hai chuỗi thành một. Nó thêm chuỗi thứ hai vào chuỗi đầu tiên và trả về chuỗi kết hợp. Ví dụ:

<?php
$str = 'PHP' . ' is ' . ' Awesome!';
echo $str;

PHP và toán tử Gán

Toán tử gán (=) gán một giá trị cho một biến và trả về một giá trị. Toán hạng bên trái luôn là một biến, trong khi toán hạng bên phải có thể là một giá trị chữ mẫu, biến, biểu thức, hoặc một cuộc gọi hàm trả về một giá trị. Ví dụ:

<?php

$x = 10;
$y = $x;
$z = ($x = 20); // $z = 20

Trong biểu thức đầu tiên, chúng tôi gán giá trị 10 cho biến $x. Trong biểu thức thứ hai, chúng tôi gán giá trị của $x cho biến $y. Biểu thức thứ ba có chút phức tạp. Đầu tiên, chúng tôi gán 20 cho $x. Toán tử gán (=) trả về 20, sau đó 20 được gán cho biến $z.

Ngoài toán tử gán cơ bản (=), PHP cung cấp cho bạn một số toán tử gán khác:

  • cộng-đắc biệt +=
  • trừ-đắc biệt -=
  • chia-đắc biệt /=
  • nhân-đắc biệt *=
  • số dư-đắc biệt %=
  • XOR-đắc biệt ^=
  • AND-đắc biệt &=
  • OR-đắc biệt |=
  • nối chuỗi-đắc biệt .=

Ưu tiên toán tử trong PHP

Mức ưu tiên của một toán tử quyết định toán tử được thực hiện trong biểu thức.

PHP gán mức ưu tiên cho mỗi toán tử. Một số toán tử có cùng mức ưu tiên, ví dụ, mức ưu tiên của phép cộng (+) và trừ (-) là bằng nhau. Tuy nhiên, mốt số trường hợp có toán tử có mức độ ưu tiên cao hơn TT khác

Ví dụ, mức ưu tiên của toán tử nhân (*) cao hơn mức ưu tiên của toán tử cộng (+) và toán tử trừ (-):


Thành Nguyễn

Tôi là Thành, nên tôi đặt tên blog là Thành Nè, Thánh Né... là một coder cùi bắp (Code quèn). Chẳng giỏi viết lách, chỉ giỏi chém gió và có sở thích chia sẻ những kiến thức tôi đã từng...