Php thay thế cho var_dump

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

Nội dung chính Hiển thị

  • 2. Một số hàm trả về kiểu boolean trong PHP
  • Kiểu logic trong PHP
  • Các phép toán logic
  • Các phép toán so sánh, đánh tung hứng
  • Phép toán == và ===,. = and. ==
  • Kết luận

Nội dung chính

  • 2. Một số hàm trả về kiểu boolean trong PHP
  • Kiểu logic trong PHP
  • Các phép toán logic
  • Các phép toán so sánh, đánh tung hứng
  • Phép toán == và ===,. = and. ==
  • Kết luận

Kiểu dữ liệu boolean còn được gọi là kiểu lập luận (logic) hoặc kiểu bool. Boolean data type only archive 2 value. TRUE hoặc FALSE. Trong PHP, value true and false không phân biệt chữ hoa, chữ thường. Chúng ta có thể viết true/TRUE/True or false/FALSE/False đều được

Kiểu giá trị 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 (chuỗi) trống (trống) 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

    • Number other 0 transfer to true, number 0 transfer to false
    • Số thực bằng 0. 0 convert to false, but res is true
    • Chuỗi (chuỗi) khác rỗng (trống) chuyển thành đúng, chuỗi rỗng chuyển thành sai
    • Giá trị NULL tương đương với false
    • Mảng (mảng) 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

bool(true) bool(false) NULL bool(false) bool(false)
2 trong PHP giúp kiểm tra giá trị của một biến 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)

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

  • Các thao tác trên cấu trúc dữ liệu Tuple trong Python
  • Edit (update) data and command drop in MySQL with Python
  • Sự khác nhau giữa echo và print trong PHP
  • Cú pháp và cách sử dụng vòng lặp for trong C++
  • Ngoại lệ do người dùng xác định trong Python

lập trình PHP lập trình web

Kiểu logic là kiểu dữ liệu chỉ chứa giá trị đúng và sai. Trong PHP, kiểu logic có tên gọi bool hoặc boolean tùy tình huống sử dụng. Kiểu bool trong PHP là kết quả thực hiện các phép toán so sánh, các phép toán logic, cũng như một số hàm

Kiểu logic trong PHP

Kiểu logic là kiểu dữ liệu chỉ chứa hai giá trị. đúng và sai

Kiểu logic trong PHP có hai tên gọi. bool và boolean. Bool name call used in only the type of function. Boolean call name is used in the return value of gettype() function. Trong phép chuyển đổi kiểu toán học có thể sử dụng cả (bool) và (boolean)

Giá trị đúng và sai không phân biệt hoa/thường. Nghĩa là bạn viết true/TRUE/True hay false/FALSE/False đều được

Trong lệnh xuất dữ liệu với kiểu logic, giá trị đúng được biểu diễn là 1, còn giá trị sai được biểu diễn là một ô trống

php > $a = true;
php > $b = True;
php > $c = TRUE;
php > echo $a, ' ', $b, ' ', $c;
1 1 1
php > $d = false;
php > echo $d;
php >

PHP thực hiện chuyển đổi tự động từ các giá trị khác về boolean như sau

  • other integer 0 transfer to true;
  • Số thực bằng 0. 0 convert to false, but res is true
  • All null string transfer to true;
  • Giá trị NULL tương đương với false
  • Mảng không có phần tử nào tương ứng với false
  • Một đối tượng rỗng (không có giá trị hoặc phương thức bất kỳ) tương đương với sai

Với các quy tắc chuyển đổi như trên, bạn có thể trực tiếp sử dụng các giá trị khác kiểu bool trong biểu thức logic (ví dụ: cho vòng lặp và cấu trúc rẽ nhánh). This is near same same in C/C++ but xa lạ hơn với C#

Để kiểm tra giá trị của một biến phải có kiểu bool/boolean hoặc không thể sử dụng hàm is_bool($var)

Để chuyển đổi các kiểu dữ liệu khác về bool/boolean, bạn có thể sử dụng các phép chuyển đổi kiểu (type casting) như (bool), (boolean) hoặc sử dụng hàm chuyển đổi boolval($var)

Kiểu boolean là kết quả trả về của phép tính so sánh giữa các kiểu số và chuỗi mà bạn đã học. so sánh number with number, so sánh chuỗi với chuỗi

Bạn cũng đã gặp một chuỗi hàm trả giá trị kiểu boolean

  • Các kiểu kiểm tra chức năng. is_int(), is_double(), is_float(), is_bool(), is_string()
  • Hàm kiểm tra sự tồn tại của biến. ngay lập tức()

Nếu cần tạo biểu thức logic phức tạp hơn, PHP cung cấp phép toán logic

Các phép toán logic

Đối với kiểu dữ liệu bool, PHP định nghĩa sẵn các phép toán riêng biệt, gọi là các phép toán logic. Phép toán logic cho phép ghép nối các giá trị logic thành các biểu thức phức tạp

Giống như trong toán học, PHP định nghĩa sẵn các phép toán logic sau

Logical logic and for results true when and only when both thanh toán hạng có giá trị true. Trong PHP, phép toán logic và được biểu diễn bằng cụm ký tự

bool(true) bool(false) NULL bool(false) bool(false)
3 hoặc từ khóa
bool(true) bool(false) NULL bool(false) bool(false)
4. Ví dụ

php> $a = true;
php> $b = false;
php> $c = $a && $b; // cho false
php> $d = $a and $b; // cho false

Từ khóa trong PHP không phân biệt hoa/thường

Phép toán logic và trong PHP có điểm đặc biệt. Nếu biểu thức bên trái cho phép toán học có giá trị sai, PHP sẽ không tính toán biểu thức bên trái phải có dấu phép toán nữa (vì kết quả chắc chắn là sai). Đặc điểm này của phép toán và được gọi là tính đoản mạch (đoản mạch)

Đặc điểm này tạo ra một kỹ thuật đặc biệt trong PHP, được gọi là kỹ thuật đoản mạch (đoản mạch)

Ví dụ như lệnh

bool(true) bool(false) NULL bool(false) bool(false)
5 vận dụng kỹ thuật này để kiểm tra việc kết nối cơ sở dữ liệu. If $flag is false, thì lệnh kết nối (tiêu tốn nhiều tài nguyên) sẽ không được thực hiện nữa. Kỹ thuật đo lường mạch này giúp viết lệnh rút gọn không cần đến cấu trúc lặp

Phép toán logic hoặc cho kết quả sai chỉ khi cả hai toán hạng cùng có giá trị sai. Trong PHP, phép toán logic hoặc được biểu diễn bằng cụm từ

bool(true) bool(false) NULL bool(false) bool(false)
6 hoặc từ khóa
bool(true) bool(false) NULL bool(false) bool(false)
7. Ví dụ

bool(true) bool(false) NULL bool(false) bool(false)
3

Phép toán logic hay còn có tính đoản mạch. Nếu biểu thức ở bên trái là đúng thì không thực hiện được nhiệm vụ nữa, đồng thời trả luôn kết quả của cả biểu thức là đúng

Kỹ thuật này có thể được sử dụng, ví dụ, trong việc mở tập tin.

bool(true) bool(false) NULL bool(false) bool(false)
8

Phép toán logic xor trả về kết quả đúng nếu chỉ một trong hai hạng toán là đúng. Phép toán xor còn được gọi là phép hoặc loại trừ. Chỉ khi trạng thái của hai toán hạng khác nhau, biểu thức nhận giá trị đúng

Trong PHP, phép toán xor được biểu diễn bằng từ khóa

bool(true) bool(false) NULL bool(false) bool(false)
9

bool(true) bool(false) NULL bool(false) bool(false)
6

Phép toán đảo ngược giá trị của biểu thức logic. true thành false, false thành true. Phép toán định nghĩa logic trong PHP được biểu diễn bởi ký tự


0

bool(true) bool(false) NULL bool(false) bool(false)
8

Các phép toán so sánh, đánh tung hứng

Định nghĩa PHP có sẵn các phép so sánh mà bạn đã gặp

Ký hiệu phép toánTên gọi>Lớn hơn>=Lớn hơn hoặc bằng, !=Khác (not equal)==Bằng (equal)===Tương đồng (identical)!=Không tương đồng (not identical)

Trước hết cần lưu ý. PHP cho phép so sánh các giá trị khác nhau

Cụ thể hơn, các phép so sánh được phép trong PHP chấp nhận toán hạng là số và chuỗi, và hai toán hạng của phép so sánh không bắt buộc phải giống kiểu. Nghĩa là bạn có thể so sánh number with number, string with string, string with number

Đây là một điều hơi 'không bình thường' nếu bạn đến từ C# hay Java. Bạn có thể định hình dung lượng của nó cũng giống như so sánh ứng dụng với máy ảnh

Ngoài ra, đối với chuỗi, PHP cũng quan tâm xem chuỗi này chỉ chứa toàn chữ số (chuỗi số) hay có thể chứa các ký tự khác bên ngoài số

Để thực hiện kiểu so sánh hơi bất thường này, PHP sử dụng một cơ chế đặc biệt. kiểu tung hứng. Type tung hứng là quá trình chuyển đổi kiểu máy chủ so sánh

Toán hạng 1Toán hạng 2Kiểu chuyển đổi để so sánhSố, vd 123456Số, vd 234567SốChuỗi chữ số, vd '123456'Chuỗi chữ số, vd '234567SốChuỗi chữ số, vd '123456'Số, vd 234567SốChuỗi chữ số, vd, '123456'Chuỗi

Trong bài học về các kiểu số trong PHP bạn đã biết cách PHP chuyển đổi từ chuỗi về số

Cơ chế type juggling được sử dụng trong gần như tất cả các phép toán so sánh, bao gồm cả >, >=, <, <=, ==, != (<>).

So sánh chuỗi, còn được gọi là thứ tự từ điển, là một chủ đề phức tạp. File tài liệu này sẽ không giải thích chi tiết. Bạn có thể tự tìm hiểu thêm từ wikipedia. https. // vi. wikipedia. org/wiki/Lexicographical_order

Điểm rất đặc biệt của kiểu tung hứng cơ chế nằm ở chỗ, nếu bạn so sánh hai chuỗi chỉ chứa toàn chữ số, thì chúng cùng được biến đổi về kiểu số để so sánh chứ không phải trực tiếp hai xâu. Nếu cần thực hiện hai chuỗi (chứa toàn bộ chữ số), bạn nên sử dụng hàm strcmp()

Để so sánh nghiêm trọng cả về kiểu và giá trị, PHP đưa vào hai phép so sánh riêng của mình. phép tính toán nhận dạng === và không giống nhau. ==

Phép toán == và ===,. = and. ==

Qua hai bài học về kiểu số và kiểu chuỗi, bạn nhất định phải ý kiến ​​rằng. trong PHP có hai phép toán so sánh bằng, == và ===; . = and. ==. Vậy giữa họ có gì khác nhau?

Các phép so sánh khác nhau giữa


1 và

2 thực tế là cùng một phép toán. Có thể sử dụng lối viết nào cũng được. Tuy nhiên, lưu ý hệ thống nhất trong cách viết

(1) Phép so sánh ==, gọi là so sánh thả lỏng (so sánh lỏng lẻo) hay cho phép so sánh bằng (bình đẳng) thực hiện kiểu tung hứng trước khi so sánh hai giá trị. Do đó, hai giá trị khác kiểu vẫn có thể cho kết quả đúng

Ví dụ, so sánh số 1000 và chuỗi '1000' sẽ cho kết quả đúng

bool(true) bool(false) NULL bool(false) bool(false)
0

(2) Phép so sánh ===, gọi là so sánh chặt (so sánh chặt) hoặc so sánh đồng nhất (đồng nhất), không thực hiện kiểu tung hứng. Do vậy, if two value other type, always for results so sánh is false

php > $a = 1000;
php > $b = ‘1000’;
php > echo $a === $b;
php >

(3) Tương tự như vậy, phép so sánh khác. = hoặc <> (còn gọi là phép tính bất đẳng thức) thực hiện tung hứng kiểu trước khi so sánh. Trong khi đó phép toán. == (phép toán không giống nhau) không thực hiện được kiểu tung hứng

bool(true) bool(false) NULL bool(false) bool(false)
1

Như vậy, hai phép toán giống nhau (===) và không giống nhau (. ==) mới thực sự tương thích với các phép toán == và. = trong C