Toán tử gán cơ bản là "=". Xu hướng đầu tiên của bạn có thể là nghĩ về điều này là "bằng". Đừng. Điều đó thực sự có nghĩa là toán hạng bên trái được đặt thành giá trị của biểu thức ở bên phải [nghĩa là "được đặt thành"].
Giá trị của biểu thức gán là giá trị được gán. Đó là, giá trị của "$a = 3
" là 3. Điều này cho phép bạn thực hiện một số điều khó khăn:
Ngoài toán tử gán cơ bản, còn có "toán tử kết hợp" cho tất cả các toán tử số học, mảng và chuỗi chuỗi cho phép bạn sử dụng giá trị trong một biểu thức và sau đó đặt giá trị của nó thành kết quả của biểu thức đó. Ví dụ:
Lưu ý rằng bài tập sao chép biến ban đầu thành biến mới [gán theo giá trị], do đó, thay đổi thành cái này sẽ không ảnh hưởng đến biến khác. Điều này cũng có thể có liên quan nếu bạn cần sao chép một cái gì đó giống như một mảng lớn bên trong một vòng lặp chặt chẽ.
Một ngoại lệ đối với gán thông thường theo hành vi giá trị trong PHP xảy ra với các đối tượng, được gán bằng tham chiếu. Các đối tượng có thể được sao chép rõ ràng thông qua từ khóa Clone.objects, which are assigned by reference. Objects may be explicitly copied via the clone keyword.
Bài tập bằng cách tham khảo
Bài tập bằng tham chiếu cũng được hỗ trợ, sử dụng "$ var = & $ otherVar;" Cú pháp. Bài tập bằng cách tham khảo có nghĩa là cả hai biến cuối cùng chỉ vào cùng một dữ liệu và không có gì được sao chép ở bất cứ đâu.$var = &$othervar;" syntax. Assignment by reference means that both variables end up pointing at the same data, and nothing is copied anywhere.
Ví dụ số 1 gán bằng tham chiếu
Toán tử mới tự động trả về một tham chiếu, vì việc gán kết quả mới bằng tham chiếu là một lỗi.
Ví dụ trên sẽ xuất ra:
Parse error: syntax error, unexpected 'new' [T_NEW] in …
Thông tin thêm về tài liệu tham khảo và sử dụng tiềm năng của chúng có thể được tìm thấy trong phần Tài liệu tham khảo được giải thích của hướng dẫn.
Các toán tử phân công số học
$ a += $ b | $ a = $ a + $ b | Phép cộng |
$ a -= $ b | $ a = $ a - $ b | Phép trừ |
$ a *= $ b | $ a = $ a * $ b | Phép nhân |
$ a /= $ b | $ a = $ a / $ b | Phân công |
$ a %= $ b | $ a = $ a % $ b | Mô đun |
$ a ** = $ b | $ a = $ a ** $ b | Số mũ |
Các toán tử gán bitwise
$ a += $ b | $ a = $ a + $ b | Phép cộng |
$ a -= $ b | $ a = $ a - $ b | Phép trừ |
$ a *= $ b | $ a = $ a * $ b | Phép nhân |
$ a /= $ b | $ a = $ a / $ b | Phân công |
$ a %= $ b | $ a = $ a % $ b | Mô đun |
$ a ** = $ b
$ a += $ b | $ a = $ a + $ b | Phép cộng |
$ a -= $ b | $ a = $ a - $ b | Phép trừ |
$ a *= $ b ¶
$ a = $ a * $ b
$a = 3
0
$a = 3
1
$a = 3
2Phép nhân ¶
$ a /= $ b
$a = 3
3
$a = 3
4
$a = 3
2$ a = $ a / $ b ¶
Phân công
$a = 3
6
$a = 3
7
$a = 3
8
$a = 3
9$ a %= $ b ¶
$ a /= $ b