So sánh điều kiện trong php năm 2024
Một câu lệnh else của PHP có thể theo sau khối if. Nếu điều kiện của if không đánh giá là TRUE, khối mã sau else sẽ được thực thi.
Show
1.2. Câu lệnh elseif của PHPCác câu lệnh elseif trong PHP phải được ghép nối với một câu lệnh if, nhưng nhiều câu lệnh elseif khác có thể được xâu chuỗi từ một câu lệnh if duy nhất. elseif cung cấp một điều kiện bổ sung để kiểm tra (và mã tương ứng để thực thi) nếu các câu lệnh điều kiện của khối if và bất kỳ elseif nào trước đó không được đáp ứng.
1.3. Toán tử ba ngôi PHPTrong PHP, toán tử ba ngôi cho phép cú pháp nhỏ gọn trong trường hợp quyết định nhị phân (if/else). Nó đánh giá một điều kiện duy nhất và thực thi một biểu thức và trả về giá trị của nó nếu điều kiện được đáp ứng và biểu thức thứ hai nếu ngược lại. Cú pháp của toán tử bậc ba trông như sau:
1.4. Câu lệnh switch PHPCác câu lệnh switch PHP cung cấp một cú pháp rõ ràng cho một loạt các so sánh trong đó một giá trị hoặc biểu thức được so sánh với nhiều kết quả khớp có thể có và các khối mã được thực thi dựa trên case khớp đó. Trong PHP, khi gặp một trường hợp khớp, các khối mã của tất cả các case tiếp theo (bất kể khớp) sẽ được thực thi cho đến khi đạt được return, break hoặc kết thúc câu lệnh. Điều này được gọi là rơi qua.
1.5. TRUE và FALSE trong PHPCác giá trị PHP trong một điều kiện sẽ luôn được đánh giá là TRUE hoặc FALSE. Các giá trị sẽ đánh giá là TRUE được gọi là giá trị đúng và các giá trị đánh giá là FALSE được gọi là sai. Cách đây 4 tháng, mình đã từng có một bài viết mang tên "Variables Comparison in Javascript", bài viết phân tích về tính
0 và
1 trong Javascript, cũng như những cạm bẫy thường gặp khi thực hiện các phép so sánh thông thường. Lần này mình tiếp tục thực hiện chủ đề tương tự, nhưng với một ngôn ngữ khác: PHP, ngôn ngữ lập trình web phổ biến nhất thế giới hiện nay. Bạn có thể code PHP, có thể sử dụng Framework này, Framework kia, nhưng liệu bạn đã thực sự hiểu hết về meta của nó, bạn có thực sự nắm rõ được tính
0 và
1, hay những phép so sánh của PHP. Do you really know PHP ? Can you solve the following quizes ?Tương tự với bài viết "Variables Comparison in Javascript" trước đây, mình sẽ lại mở đầu bài viết về PHP lần này bằng một số "câu đố" nho nhỏ. Câu hỏi rất đơn giản thôi, Các phép toán dưới đây trả về
4 hay
5 Chú ý: Phiên bản PHP được sử dụng là phiên bản mới nhất ở thời điểm hiện tại, tháng 9/2015, tức PHP 5.6 nhé
Nếu bạn có thể trả lời đúng hết, và hiểu được bản chất tại sao nó lại như vậy thì có lẽ bạn cũng đã nắm rõ hết được những gì mà bài viết này đề sẽ cập đến rồi. Còn ngược lại, hãy dành chút thời gian để đọc và tìm hiểu về những điều sẽ được giới thiệu dưới đây, bạn sẽ tự tìm được lời giải thích cho từng đáp án. Let's start! Variable TypesĐể trả lời được những câu hỏi trên thì trước hết ta cần phải tìm hiểu và nắm rõ được về những kiểu giá trị có trong PHP. Các kiểu giá trị trong PHP
Một số điều cần lưu ý
Cũng giống như Javascript hay nhiều ngôn ngữ lập trình khác, để so sánh "bằng" trong PHP, ta có thể dùng
9 và
0.
0, Strict Comparison hay Strict Equal, sẽ so sánh cả kiểu giá trị của 2 bên. Nếu 2 bên có kiểu giá trị khác nhau thì phép toán sẽ trả về giá trị
5. Phép toán
0 là rất minh bạch và dễ sử dụng, ít gây hiểu nhầm hay khó khăn gì cho lập trình viên. Còn phép so sánh
9, Loose Comparison hay Loose Equal, thì sẽ tìm cách đưa 2 bên về cùng một kiểu giá trị rồi thực hiện phép so sánh. Ta có thể dùng phép ép kiểu giống với C để đưa một biến từ kiểu giá trị này thành kiểu giá trị khác:
Những giá trị được coi là
5 Đó là những giá trị khi được ép về kiểu Boolean sẽ cho giá trị là
5. Bao gồm:
Ví dụ
Ngoài những giá trị là
5 kể trên, thì tất cả các giá trị khác đều được coi là
4. So sánh trong PHPTrong phần này, chúng ta sẽ tìm hiểu về một số trường hợp, hay quy tắc đặc biệt khi thực hiện các phép so sánh
9 hay
8,
9 trong PHP. Một số trong đó có thể gây bất ngờ cho bạn đấy. Null vs String
Boolean & Null
String vs String
Number vs String
Array vs Array
0
1 Object vs Object
2 Other
3 Fun fact
4
5
6
7 Phép toán
18 có thể được viết ngắn lại thành
19
8 Mới nhìn qua, có thể bạn sẽ trả lời kết quả là
5, với thứ tự thực hiện phép toán là
21, tuy nhiên thứ tự đúng sẽ phải là
22, và do đó, phép toán sẽ trả về
4. The AnswersDưới đây là đáp án cho những câu hỏi được đưa ra ở đầu bài viết. Nếu bạn đã đọc hết phần phía trên rồi thì chắc có thể hiểu được tại sao nó lại ra được đáp án như dưới đây. Còn nếu có câu nào mà bạn vẫn chưa hiểu được nguyên nhân thì điều đó có nghĩa là bạn đã bỏ sót điều gì đó rồi đấy, kéo lên đọc lại thôi (honho) Nếu có thắc mắc gì hãy để lại tin nhắn ở phần comment nhé.
9 Bài viết chắc vẫn chưa thể cover hết được những vấn đề trong các phép toán so sánh trong PHP. Ngoài ra nhiều chỗ mình cũng viết dựa trên kinh nghiệm và những gì mình biết. Có thể còn có nhiều chỗ thiếu sót, hy vọng nhận được ý kiến đóng góp của các bạn |