Hướng dẫn dùng true true trong PHP

Trong bài này, chúng ta sẽ tìm hiểu kỹ về kiểu dữ liệu boolean trong PHP. Để học tốt bài này, các bạn cần đọc lại bài Cài đặt môi trường lập trình Web PHP với XAMPP để biết cách chạy ứng dụng web PHP với XAMPP.

Kiểu dữ liệu boolean còn gọi là kiểu luận lý (logic) hoặc kiểu bool. Kiểu dữ liệu boolean chỉ lưu trữ 2 giá trị: TRUE hoặc FALSE. Trong PHP, giá trị truefalse không phân biệt chữ hoa, chữ thường. Chúng ta có thể viết true/TRUE/True hoặc false/FALSE/False đều được.

Giá trị kiểu NULL cũng được coi là FALSE trong boolean. Ngoài NULL, 0 cũng được coi là FALSE trong boolean. Nếu một chuỗi (string) rỗng (empty) thì nó cũng được coi là FALSE trong boolean.


Kết quả
bool(true) bool(false) NULL bool(false) bool(false)

Một số giá trị trong PHP tương đương với kiểu dữ liệu boolean như sau:

    • Số nguyên khác 0 chuyển thành true, số 0 chuyển thành false.
    • Số thực bằng 0.0 chuyển thành false, còn lại là true.
    • Chuỗi (string) khác rỗng (empty) chuyển thành true, chuỗi rỗng chuyển thành false.
    • Giá trị NULL tương đương với false.
    • Mảng (array) không có phần tử nào tương đương với false.

2. Một số hàm trả về kiểu boolean trong PHP

Hàm is_bool() trong PHP giúp kiểm tra giá trị của một biến có phải kiểu bool/boolean hay không. Để chuyển đổi các kiểu dữ liệu khác về bool/boolean, chúng ta có thể sử dụng các hàm ép kiểu (type casting) như (bool), (boolean) hoặc boolval().

Is $y bool? ';
var_dump(is_bool($y));
echo '
Is $y existing? '; var_dump(isset($y)); ?>
Kết quả
Is $x bool? bool(true)
Is $y bool? bool(false)
Is $y existing? bool(true)

Các hàm kiểm tra kiểu dữ liệu is_int(), is_double(), is_float() , is_string() hoặc hàm kiểm tra sự tồn tại của biến isset() cũng trả về kiểu boolean.

  • Mảng 2 chiều (2 dimensional array) trong PHP
  • Sử dụng nested class và inner class trong Java
  • Lập trình giao tiếp cảm biến LDR với board mạch Arduino
  • Java collections framework: Queue interface và lớp LinkedList
  • Kết nối cơ sở dữ liệu MySQL với PHP sử dụng PDO

PHP programming web programming

Trên trang php.net mở đầu phần giới thiệu bằng câu “This is the simplest type” tức “Đây là kiểu đơn giản nhất”. Nhưng nếu đọc thêm thông tin bên dưới, bạn sẽ thấy thực ra nó không đơn giản tí nào. Và nếu chúng ta không để ý sẽ lẫn như chơi thôi.

True và False là kiểu dữ liệu Boolean, tức là nó tương ứng với 2 giá trị đúng hoặc sai, trong đó true là đúng, còn false là sai. PHP không phân biệt chữ hoa chữ thường, do vậy bạn viết true, TRUE hay True đều được, tương tự với false cũng như thế, FALSEFalse cũng được.

Trong PHP, true và false thường được áp dụng trong câu lệnh điều kiện, ví dụ như if, nếu đúng thì làm điều gì nó, còn nếu sai thì làm gì. Nếu đúng ở đây tức là true, nếu không ở đây tức là false.


Chuyển đổi sang boolean

Để chuyển đổi rõ ràng một giá trị thành bool, bạn có thể sử dụng (bool) hoặc (boolean). Tuy nhiên trong phần lớn trường hợp, việc ép kiểu là không cần thiết, vì giá trị sẽ tự động được chuyển đổi nếu một toán tử, hàm hoặc cấu trúc điều khiển yêu cầu một đối số bool.

Khi chuyển đổi sang kiểu dữ liệu boolean, các giá trị dưới đây mặc định được xem là false:

  • giá trị boolean false tự nó là false rồi, ví dụ bạn khai báo $x = false, thì $x là boolean false;
  • số nguyên 0 được coi là false;
  • số thực 0.0 và -0.0 được xem là false;
  • chuỗi rỗng và chuỗi “0” được xem là false;
  • mảng không có phần tử nào được xem là false;
  • kiểu giá trị NULL cũng là false;

Mọi giá trị khác sẽ được xem là true.

Chú ý: -1 được coi là true, bất kỳ số nào cũng được coi là true, ngoại trừ số 0, bất kể nó là số dương hay số âm!

Bạn hãy nhìn kết quả true, false bên dưới để biết thêm về kiểu dữ liệu này:


Lưu ý khi sử dụng hàm điều kiện với một biến

Cách sử dụng hàm điều kiện kiểu như:

if($con){// câu lệnh}

Rất hay được dùng vì nó tiện, chúng ta không phải viết thêm toán tử so sánh như == hay >

Chúng ta hay làm điều này khi gán $con là 0 hoặc 1, tương ứng với false và true.

Nhưng với chú ý trên thì chúng ta phải hết sức cẩn trọng với TRUE, bởi vì với bất kỳ giá trị nào của $con mà khác 0 (dù là số âm, hay dương, hay ký tự) nó cũng đều thành true hết.