Các toán tử số học PHP được sử dụng với các giá trị số để thực hiện các phép toán số học phổ biến, chẳng hạn như cộng, trừ, nhân, v.v.
Toán tửNameVí dụKết quảHiển thị nó+Thêm$x + $yTổng của $x và $yHãy thử »-Trừ$x - $ySự khác biệt của $x và $yHãy thử »*Phép nhân$x * $yTích của $x và $yHãy thử »/Bộ phận$Toán tử gán PHP
Các toán tử gán PHP được sử dụng với các giá trị số để ghi một giá trị cho một biến
Toán tử gán cơ bản trong PHP là "=". Điều đó có nghĩa là toán hạng bên trái được đặt thành giá trị của biểu thức gán bên phải
// Using short array syntax.
// Also, works with array[] syntax.
$arr1 = [1, 2, 3];
$arr2 = [...$arr1]; //[1, 2, 3]
$arr3 = [0, ...$arr1]; //[0, 1, 2, 3]
$arr4 = [...$arr1, ...$arr2, 111]; //[1, 2, 3, 1, 2, 3, 111]
$arr5 = [...$arr1, ...$arr1]; //[1, 2, 3, 1, 2, 3]
function getArr[] {
return ['a', 'b'];
}
$arr6 = [...getArr[], 'c' => 'd']; //['a', 'b', 'c' => 'd']
?>
// Integers
echo 1 1; // 0
echo 1 2; // -1
echo 2 1; // 1
// Floats
echo 1.5 1.5; // 0
echo 1.5 2.5; // -1
echo 2.5 1.5; // 1
// Strings
echo "a" "a"; // 0
echo "a" "b"; // -1
echo "b" "a"; // 1
echo "a" "aa"; // -1
echo "zz" "aa"; // 1
// Arrays
echo [] []; // 0
echo [1, 2, 3] [1, 2, 3]; // 0
echo [1, 2, 3] []; // 1
echo [1, 2, 3] [1, 2, 1]; // 1
echo [1, 2, 3] [1, 2, 4]; // -1
________số 8_______
$a = [object] ["a" => "b"];
$b = [object] ["a" => "c"];
echo $a $b; // -1
$a = [object] ["a" => "c"];
$b = [object] ["a" => "b"];
echo $a $b; // 1
// not only values are compared; keys must match
$a = [object] ["a" => "b"];
$b = [object] ["b" => "b"];
echo $a $b; // 1
?>
Toán tử gán cơ bản là "=". Xu hướng đầu tiên của bạn có thể 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. Nghĩa là, giá trị của "$a = 3
" là 3. Điều này cho phép bạn làm một số điều phức tạp
$a = [$b = 4] + 5; // $a is equal to 9 now, and $b has been set to 4.
?>
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 nhị phân, hợp mảng và chuỗi cho phép bạn sử dụng một giá trị trong một biểu thức rồi đặt giá trị của nó thành kết quả của biểu thức đó. Ví dụ
$a = 3;
$a += 5; // sets $a to 8, as if we had said: $a = $a + 5;
$b = "Hello ";
$b .= "There!"; // sets $b to "Hello There!", just like $b = $b . "There!";
?>
Lưu ý rằng phép gán sao chép biến ban đầu sang biến mới [gán theo giá trị], vì vậy thay đổi đối với biến này sẽ không ảnh hưởng đến biến kia. Điều này cũng có thể có liên quan nếu bạn cần sao chép thứ gì đó 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 hành vi gán theo giá trị thông thường trong PHP xảy ra với các đối tượng, được gán theo tham chiếu. Các đối tượng có thể được sao chép rõ ràng thông qua từ khóa clone
Bài tập theo tham chiếu
Chỉ định theo tham chiếu cũng được hỗ trợ, sử dụng "$var = &$othervar;" . Chuyển nhượng theo tham chiếu có nghĩa là cả hai biến đều trỏ đến cùng một dữ liệu và không có gì được sao chép ở bất kỳ đâu
Ví dụ #1 Chỉ định theo tham chiếu
$a = 3;
$b = &$a; // $b is a reference to $a
print "$a\n"; // prints 3
print "$b\n"; // prints 3
$a = 4; // change $a
print "$a\n"; // prints 4
print "$b\n"; // prints 4 as well, since $b is a reference to $a, which has
// been changed
?>
Toán tử trả về một tham chiếu tự động, vì vậy việc gán kết quả của 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à cách sử dụng tiềm năng của chúng có thể được tìm thấy trong phần Giải thích tài liệu tham khảo của hướng dẫn