Tải bản đầy đủ (.docx) (5 trang)

Toán tử và biểu thức trong php

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (177.6 KB, 5 trang )

Toán t ửvà bi ểu th ứ
c trong php
N ội dung chính


1. Bi ểu th ức là gì?
o

Toán tử gán (Assignment Operator):

o

Biểu thức số học


2. Toán tử quan hệ



3. Toán tử luận lý
Độ ưu tiên toán tử luận lý

o


4. Độ ưu tiên các toán tử



5. Lời kết


1. Bi ểu th ức là gì?
Biểu thức là một tổ hợp các toán hạng và toán tử. Toán tử thực hiện các thao tác nh ư c ộng, tr ừ,
nhân, chia, so sánh, … Toán hạng là những biến hay là những giá trị mà các phép toán được th ực
hiện trên nó. Ví dụ $a + $b thì $a và $b được gọi là toán hạng, dấu + được gọi là toán tử, cả 2 kết
hợp lại thành một biểu thức ($a + $b).
Mỗi biểu thức chỉ có một giá trị nhất định. Ví dụ ta có biểu thức ($a + $b) thì biểu thức này có giá trị
là tổng của $a và $b.
Ví dụ:

1

$ketqua = $a - $b;

2

$ketqua = 7 + 6;

3

$ketqua = 3*$x + 4*$y;

Toán t ử gán (Assignment Operator):
Đây là toán tử thông dụng nhất trong mọi ngôn ngữ, ta dùng dấu = để gán giá trị cho m ột bi ến b ất k ỳ
nào đó.

1

$a = 12;

Nhiều biến có thể được gán cùng một giá trị qua m ột câu lệnh đơn g ọi là gán liên ti ếp.



1

$a = $b = $c = $d = 12;

Bi ểu th ức s ố h ọc
Các phép toán thường được thực hiện theo một thứ t ự cụ thể gọi là độ ưu tiên để đưa ra giá tr ị cu ối
cùng (s ẽ đề cập đến sau). Các bi ểu th ức s ố h ọc trong các ngôn ng ữ đượ c th ể hi ện b ằng cách s ử
dụng các toán tử số học cùng với các toán hạng dạng số hoặc ký t ự (bi ến). Những bi ểu th ức này
gọi là biểu thức số học.

1

$ketqua = $a + $b/2;

2

$ketqua = $a / 7;

3

$ketqua = $a + ($b = 5 + 6);

Nh ư ta thấy trên toán h ạng có th ể là h ằng, bi ến hay k ết h ợp c ả 2, và m ỗi bi ểu th ức có th ể k ết h ợp
của nhi ều bi ểu th ức con. Đị nh nghĩa h ằng và bi ến nh ư th ế nào chúng ta đã đề c ập ở Bi ến Và H ằng
Số Trong PHP.

2. Toán t ử quan h ệ
Toán tử quan hệ cũng là một định nghĩa trong bài toán tử và biểu th ức trong php, được dùng để

kiểm tra mối quan h ệ gi ữa hai bi ến hay gi ữa m ột bi ến và m ột h ằng s ố. Ví d ụ ki ểm tra 2
biến $a và $b xem biến nào lớn hơn ta làm như sau: ($a > $b) và kết quả của biểu thức này sẽ trả
về kiểu boolean TRUE hoặc FALSE.
Như tôi đã đề cập ở bài các kiểu dữ liệu trong php, kiểu boolean có giá trị là FALSE cho tất cả các
giá trị bằng 0, ký tự rỗng hoặc null. Để so sánh 2 toán hạng ta làm nh ư sau ($a == $b). Các bạn lưu
ý rằng phép toán mà có 1 dấu bằng là phép gán, còn 2 dấu bằng là phép so sánh.
Bảng sau đây mô tả ý nghĩa của các toán tử quan hệ.

Lưu Ý: Tất cả các toán tử quan hệ nào có 2 ký tự trở lên đều phải ghi liền không được có khoảng
trắng. Ví dụ ! = là sai vì có khoảng trắng giữa 2 ký tự.
Ví dụ:


1

$a = 12; // Biến $a kiểu INT có giá trị = 12

2

$t = ($a == 12); // Biến $t có giá trị là TRUE vì biểu thức (12 == 12) đúng

3

$t = ($a > 12);

4

$t = ($a >= 12); // Biến $t có giá trị TRUE vief biểu thức (12 >= 12) đúng

5


$t = ($a != 12); // Biến $t có giá trị FALSE vì biểu thức (12 != 12) sai

// Biến $t có giá trị là FALSE vì biểu thức (12 > 12) sai

Toán Tử Quan Hệ === dùng để so sánh giá trị giữa các biến và hằng đúng theo giá trị và ki ểu dữ
liệu của nó, nếu ta sử dụng 2 dấu bằng == để so sánh ($a == $b) thì lúc này $a và $b chỉ so sánh
giá trị và trả về true nếu $a bằng $b.
Giả sử $a = ’123′ là kiểu string, $b = 123 là kiểu int thì phép ($a == $b) cho kết quả là true, còn
phép ($a === $b) sẽ cho kết quả là false vì 2 biến tuy giá trị bằng nhau nhưng không cùng kiểu d ữ
liệu.

3. Toán t ử lu ận lý
Toán tử luận lý là ký hiệu dùng để kết hợp hay phủ định biểu thức có chứa các toán tử quan hệ,
những biểu thức dùng toán tử luận lý trả về giá trị TRUE hoặc FALSE.
Bảng sau đây mô tả các toán tử luận lý trong PHP

Lưu ý: Tất cả các toán tử luận lý nào có 2 ký tự trở lên đều phải ghi liền không được có kho ảng
trắng. Ví dụ | | là sai vì có khoảng trắng giữa 2 ký tự.
Ví dụ:

1

$a = 100;

2

$b = 200;

3


$tong = $a + $b;

4

$check = ($a < $b) && ($tong > 200);


Kết quả của đoạn mã trên biến $check sẽ có giá trị là TRUE vì:


($a > $b) <=> (100 < 200) => TRUE



($tong > 200) <=> (300 > 200) => TRUE



$check = (1) && (2) <=> TRUE && TRUE => TRUE

Độ ưu tiên toán tử luận lý
Độ ưu tiên theo thứ tự như sau: NOT -> AND -> OR
Ví dụ: Tính độ ưu tiên sau ( 7 > 5 && !(-5 > 1) || 10 == 10 ) (1)
Bước 1: trong biểu thức này có một phép toán NOT đó là !(-5 > 1) nên ta tính trước phép này.
Trong PHP cũng như các ngôn ngữ lập trình khác biểu thức !(biểu thức)cùng ý nghĩa với biểu
thức (biểu thức) == false nên biểu thức ở trên ta biến đổi thành ( (-5 > 1 ) == false ). Biểu thức này
trả về giá trị TRUE vì (-5 > 1) là sai.
Bước 2: Lấy kết quả bước 1 ta viết lại biểu thức (1) như sau: ((7>5) && true || 10 == 10) Theo độ ưu
tiên thì ta tính phép AND trước tức là tính ((7 > 5) && true) trước. Phép tính này trả về TRUE bởi

vì (7 > 5) = true suy ra true && true => true
Bước 3: Bước này lấy kết quả ở bước 2 ta ráp vào thì biểu thức (1) như sau: (true || 10 == 10).
Phép OR sẽ trả về TRUE nếu một trong 2 biểu thức có giá trị true => biểu th ức (1) là biểu thức có
giá trị TRUE.

4. Độ ưu tiên các toán t ử
Độ ưu tiên các toán tử thiết lập thứ tự ưu tiên tính toán của một biểu thức. Tóm lại độ ưu tiên trong
PHP đề cập đến thứ tự các phép tính mà PHP sẽ biên dịch trước. Các toán tử và biểu thức trong
php có sự liên hệ lẫn nhau, toán tử kết hợp toán hạng tạo thành biểu thức.
Bảng thứ tự ưu tiên của các toán tử số học.

Những toán tử nằm cùng một hàng có cùng độ ưu tiên và cấp độ ưu tiên đi từ trên xu ống d ưới. Vi ệc
tính toán biểu thức số học sẽ được tính toán từ trái qua phải và ưu tiên trong ngo ặc trước kết h ợp
với độ ưu tiên trong bảng (như trong tính toán thường thì nhân chia trước, cộng trừ sau ưu tiên
trong ngoặc).


Ví dụ: $t = -8 * 4 – 3
Bước 1: tính -8 trước vì đây là oán tử một ngôi cố độ ưu tiên cao nhất. Kết quả = -8
Bước 2: -8 *4 vì phép nhân có độ ưu tiên cao hơn phép -. Kết quả = -32
Bước 3: -32 – 3: vì đây là phép cuối cùng, ko cần phải so sánh với phép tính khác nữa. K ết qu ả =
-35



×