Giới thiệu
PHP định nghĩa tập hợp các ký hiệu sau để dùng như toán tử trên kiểu dữ liệu mảng (array):
| Ký hiệu | Ví dụ | Tên | Kết quả |
|---|---|---|---|
| + | $a + $b | Union (Hợp) | Hợp của $a và $b. |
| == | $a == $b | Equality (Bằng nhau) | TRUE nếu $a và $b có cùng cặp key/value. |
| === | $a === $b | Identity (Đồng nhất) | TRUE nếu $a và $b có cùng key/value, cùng thứ tự, cùng kiểu. |
| != | $a != $b | Inequality (Khác nhau) | TRUE nếu $a không bằng $b. |
| <> | $a <> $b | Inequality (Khác nhau) | TRUE nếu $a không bằng $b. |
| !== | $a !== $b | Non-identity (Khác đồng nhất) | TRUE nếu $a không đồng nhất $b. |
Hợp của mảng (Union of arrays)
Toán tử Union nối mảng bên phải vào mảng bên trái. Nếu key tồn tại trong cả hai mảng, phần tử từ mảng bên trái sẽ được dùng, phần tử trùng khớp từ mảng bên phải bị bỏ qua.
Ví dụ
<?php
$arr1 = array("phy"=>70, "che"=>80, "math"=>90);
$arr2 = array("Eng"=>70, "Bio"=>80, "CompSci"=>90);
$arr3 = $arr1 + $arr2;
var_dump($arr3);
?>
Kết quả
array(6) {
["phy"]=> int(70)
["che"]=> int(80)
["math"]=> int(90)
["Eng"]=> int(70)
["Bio"]=> int(80)
["CompSci"]=> int(90)
}
So sánh mảng (Comparison of arrays)
Hai mảng được gọi là bằng nhau nếu chúng có cùng cặp key-value. Ví dụ sau có mảng indexed và mảng associative với key tương ứng index của phần tử trong mảng đầu. Do đó cả hai bằng nhau.
<?php $arr1 = array(0=>70, 2=>80, 1=>90); $arr2 = array(70, 90, 80); var_dump($arr1 == $arr2); var_dump($arr2 != $arr1); ?>
Kết quả
bool(true) bool(false)
Toán tử đồng nhất (Identity operators)
Mảng đồng nhất nếu và chỉ nếu cả hai có cùng tập key-value và cùng thứ tự.
<?php $arr1 = array(0=>70, 1=>80, 2=>90); $arr2 = array(70, 90, 80); var_dump($arr1 === $arr2); $arr3 = [70, 80, 90]; var_dump($arr3 === $arr1); ?>
Kết quả
bool(false) bool(true)