Search…

Toán Tử trong PHP

08/09/20206 min read
Tìm hiểu về các toán tử trong ngôn ngữ lập trình PHP.

Các loại toán tử trong PHP

  • Toán tử số học.
  • Toán tử gán.
  • Toán tử trên bit.
  • Toán tử so sánh.
  • Toán tử tăng, giảm.
  • Toán tử logic.
  • Toán tử trên chuỗi.
  • Toán tử trên mảng.

Toán tử số học

Toán tử số học gồm có những  toán tử cơ bản như sau: +, -, *, /, %.

Ví dụ

Chú thích

-$a

Lấy đối của $a

$a + $b

Tổng của $a$b

$a - $b

Hiệu của $a$b

$a * $b

Tích của $a$b

$a / $b

Phần nguyên của phép $a chia $b

$a % $b

Dư của phép $a chia $b

Có vài điểm chú ý của các toán tử số học như sau:

  • Phép chia, khi dùng toán tử / thì kết quả là một số kiểu float, trừ khi cả 2 toán hạng đều là kiểu int hoặc giá trị của 2 số hạng bằng nhau thì sẽ cho kết quả là kiểu int.
  • Phép lấy dư % là các toán hạng phải được chuyển thành kiểu int trước khi thực hiện phép lấy dư, một điểm lưu ý nữa là dấu của kết quả phép lấy dư sẽ phụ thuộc vào dấu của số bị chia.

Ví dụ:

$x = -10;
$y = 6; 
echo $x % $y; // = -4

Toán tử gán

Toán tử so sánh có thể so sánh các số, kí tự, chuỗi với nhau và trả về TRUE hoặc FALSE.

Toán tử

Ví dụ

=

$a = $b

+=

$a += $b

-=

$a -= $b

*=

$a *= $b

/=

$a /= $b

%=

$a %= $b

Ví dụ:

$x = 10; 
$x *= 6;
echo $x ; // 60

Trong PHP cũng có phép gán bằng tham chiếu với cú pháp $var = &$othervar;. Khi sử dụng phép gán tham chiếu thì cả hai biến đều trỏ đến chung một dữ liệu và thao tác cùng trên dữ liệu đó.

$a = 3;
$b = &$a; // $b tham chiếu đến $a khi đó $b = 3
$a = 4; // thay đổi $a = 4 vì thế nên $b = 4

Toán tử trên bit

 Toán tử trên bit, cho phép thao tác trên từng bit của một số nguyên.

Ví dụ

Chú thích

$a & $b

And

$a | $b

Or

$a ^ $b

Xor

~ $a

Not

$a << x

Shift left

$a >> x

Shift right

Toán tử so sánh

Toán tử so sánh có thể so sánh các số, kí tự, chuỗi với nhau và trả về TRUE hoặc FALSE.

Ví dụ

Chú thích

$a == $b

Trả về TRUE nếu $a bằng $b

$a != $b

Trả về TRUE nếu $a khác $b

$a < $b

Trả về TRUE nếu $a nhỏ hơn $b

$a > $b

Trả về TRUE nếu $a lớn hơn $b

$a >= $b

Trả về TRUE nếu $a lớn hơn hoặc bằng $b

$a <= $b

Trả về TRUE nếu $a nhỏ hơn hoặc bằng $b

$a === $b

Trả về TRUE nếu $a bằng $b và cả hai cùng kiểu dữ liệu

$a !== $b

Trả về TRUE nếu $a không bằng $b hoặc khác kiểu dữ liệu

$a <> $b

Trả về TRUE nếu $a khác $b

$a ? $b : $c

Trả về $b nếu $a TRUE và trả về $c nếu $a FALSE

Ví dụ:

$a = 50; 
$b = "50";
var_dump($x === $y); // false, bởi vì hai toán hạng không cùng kiểu dữ liệu
echo ((true ? 'true' : false) ? 't' : 'f'); kết quả là: t

Toán tử tăng, giảm

Trong PHP, toán tử tăng/giảm chỉ được sử dụng đối với số và chuỗi.

Ví dụ

Chú thích

++$a

Cộng $a thêm 1 rồi mới trả về $a

$a++

Trả về $a rồi sau đó cộng thêm 1

--$a

Lấy $a trừ 1 rồi mới trả về $a

$a--

Trả về $a rồi sau đó trừ 1

Xét ví dụ sau đây, trong PHP.

$a = ‘Z’;
$a ++; 

Sẽ trả về kết quả là $a = ‘AA’.

Còn đối với C/C++,

a = ‘Z’;

a ++;

Kết quả là 91, bởi vì trong bảng mã ASCII kí tự Z có mã là 90a++ nên a = 91.

Để hiểu rõ hơn theo dõi ví dụ dưới đây.

<?php
echo '== Characters ==';
$s = 'W';
for ($n=0; $n<5; $n++) {
    echo ++$s . ", ";
}
echo '== Digits ==';
$d = 'A8';
for ($n=0; $n<5; $n++) {
    echo ++$d . ", ";
}

echo '== Characters and Digits =='
$t = 'A08';
for ($n=0; $n<5; $n++) {
    echo ++$t . ", " ;
}
?>

Kết quả:

== Characters ==
X, Y, Z, AA, AB
== Digits ==
A9, B0, B1, B2, B3
== Characters and Digits ==
A09, A10, A11, A12, A13

Toán tử logic

Toán tử

Ví dụ

Chú thích

and

$a and $b

Trả về TRUE nếu cả hai đều đúng

&&

$a && $b

Trả về TRUE nếu cả hai đều đúng

or

$a or $b

Trả về TRUE nếu 1 trong hai đúng hoặc cả 2 đều đúng

||

$a || $b

Trả về TRUE nếu 1 trong hai đúng hoặc cả 2 đều đúng

!

!$a

Trả về TRUE nếu $a là sai

xor

$a xor $b

Trả về đúng khi 1 trong hai đúng

Như thấy ở trên thì thấy toán tử or giống với || và toán tử and giống với &&, nhưng có điểm đặc biệt là độ ưu tiên của chúng khác nhau, && có độ ưu tiên cao hơn so với and, || có độ ưu tiên cao hơn so với or.

Toán tử trên chuỗi

Liên quan đến chuỗi kí tự thì có hai toán tử sau đây và cả hai toán tử đều là dùng để nối chuỗi lại.

Toán tử

Ví dụ

Chú thích

.

$str1 . $str2

Nối hai chuỗi $str1$str2

.=

$str1 .= $str2

Nối chuỗi $str2 vào chuỗi $str1

Ví dụ:

$b = "Hello ";
$b .= "Stdio!";
echo $b; // “Hello STDIO Training” , nó giống như $b = $b . “STDIO Training!”; 

Toán tử trên mảng

Toán tử

Ví dụ

Chú thích

+

$a + $b

Hợp $a$b

!=

$a != $b

Trả về TRUE nếu $a không bằng $b

<> 

$a <> $b

Trả về TRUE nếu $a không bằng $b

==

$a == $b

Trả về TRUE nếu $a$b có cặp giá trị bằng nhau

===

$a === $b

Trả về TRUE nếu $a$b có cặp giá trị bằng nhau và cùng kiểu dữ liệu.

!==

$a !== $b

Trả về TRUE nếu $a$b có cặp giá trị không bằng nhau hoặc không cùng kiểu dữ liệu.

Ví dụ:

<?php
$a = array("a" => "La Kiến Vinh", "b" => "Vũ Quang Huy");
$b = array("Ryan", "Rye", "Dat");

$c = $a + $b; 
echo "Union \$a and \$b: \n";
var_dump($c);

$c = $b + $a; 
echo "Union of \$b and \$a: \n";
var_dump($c);

$a += $b; // $a = $a + $b
echo "Union \$a += \$b: \n";
var_dump($a);
echo “ === Operator === \n” .
var_dump($a === $b);
?>

Kết quả:

Union $a and $b:
array(3) {
  ["a"]=>
  string(5) "La Kiến Vinh"
  ["b"]=>
  string(5) "Vũ Quang Huy"
  ["c"]=>
  string(3) "Dat"
}
Union $b and $a:
array(3) {
  ["a"]=>
  string(4) "Ryan"
  ["b"]=>
  string(3) "Rye"
  ["c"]=>
  string(3) "Dat"
}
Union $a += $b:
array(3) {
  'a' =>
  string(5) "La Kiến Vinh"
  'b' =>
  string(5) "Vũ Quang Huy"
  'c' =>
  string(3) "Dat"
}
 === Operator === 
Bool(false)

Tham khảo

http://php.net/manual/en/language.operators.php.

IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.co

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024