Trong PHP, toán tử & và && đều được sử dụng để thực hiện các phép toán logic, nhưng chúng có những đặc điểm và cách hoạt động khác nhau. Dưới đây là sự phân biệt giữa hai toán tử này:
1. Toán tử & (AND bit)
Chức năng: Toán tử & là một toán tử bitwise (toán tử xử lý từng bit) dùng để thực hiện phép AND trên các giá trị số nguyên (integers). Nó so sánh từng bit tương ứng của hai toán hạng và trả về một số nguyên mới với các bit đã được xử lý.
Sử dụng: Thích hợp khi bạn cần thao tác với các bit của số.
Ví dụ:
$a = 5; // (101 trong nhị phân)
$b = 3; // (011 trong nhị phân)
$result = $a & $b; // (101 & 011) sẽ cho ra (001) = 1
echo $result; // Kết quả: 1
2. Toán tử && (AND logic)
Chức năng: Toán tử && là một toán tử logic dùng để kiểm tra điều kiện. Nó trả về true nếu cả hai toán hạng đều là true, và trả về false nếu ít nhất một trong hai toán hạng là false.
Sử dụng: Thích hợp cho các biểu thức điều kiện trong các câu lệnh điều kiện, vòng lặp, hoặc khi kiểm tra nhiều điều kiện.
Ví dụ:
$a = true;
$b = false;
$result = $a && $b; // false vì $b là false
echo $result ? 'true' : 'false'; // Kết quả: false
Sự khác biệt chính
Đặc điểm
Toán tử &
Toán tử &&
Loại toán tử
Toán tử bitwise
Toán tử logic
Kết quả
Thực hiện phép toán trên bit
Kiểm tra điều kiện
Kiểm tra giá trị
So sánh từng bit của số
So sánh giá trị logic (true/false)
Thực thi
Không ngừng thực thi cả hai toán hạng
Ngừng sớm nếu toán hạng đầu tiên là false (short-circuit evaluation)
Tóm tắt
Sử dụng & khi bạn cần làm việc với các bit trong số nguyên.
Sử dụng && khi bạn cần kiểm tra các điều kiện logic trong mã.
This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.
Strictly Necessary Cookies
Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.
If you disable this cookie, we will not be able to save your preferences. This means that every time you visit this website you will need to enable or disable cookies again.