Tiếp tục series học PHP căn bản, bài này chúng ta sẽ tìm hiểu về một số hàm dùng để kiểm tra dữ liệu hoặc biến về sự tồn tại của nó. Và những lợi ích của nó trong lập trình website PHP.
Có rất nhiều hàm kiểm tra dữ liệu giá trị của một biến trong PHP. Mỗi hàm sẽ có một chức năng phụ thuộc vào từng loại biến và cách sử dụng khác nhau, Nhưng mình chỉ giới thiệu các hàm thông dụng thường hay dùng đó là isset(), empty() và is_null(),….
Tất cả các hàm được liệt kê trên này đều trả về một giá trị boolean. Nó sẽ rất có ích cho các bạn trong việc làm web sử dụng ngôn ngữ php. Nhưng nếu các chức năng này không được sử dụng đúng cách, chúng có thể gây ra các kết quả không mong muốn.
Hàm isset($value)
Về hàm này mình đã từng nói sơ qua và áp dụng ví dụ rất nhiều lầm ở các bài viết trước đây rồi. Tác dụng của nó dùng để kiểm tra biến $value có tồn tại hay không. Nó sẽ trả về true chỉ khi biến không phải là null.
Thông thường bạn hay dùng hàm này để kiểm tra một biến trước khi xử lý thao tác đến nó.
Cú pháp
isset($value1, $value2 ......)
Tham số
- $value1: Là biến thứ nhất cần kiểm tra (bắt buộc phải có)
- $value2 ,…$value_n các biến còn lại cần kiểm tra( có thể có hoặc không)
<?php $data = 'phpcanban'; if (isset($data)) echo 'Biến này tồn tại'; else echo 'Biến này không tồn tại'; ?>
Hàm isset() được sử dụng trong trường hợp nào
Trong quá trình biên dịch nếu trong code có sử dụng một biến không tồn tại thì trình biên dịch sẽ ngưng xử lý và thông báo lỗi ngay, chính vì vậy thông thường những trường hợp mà ta không chắc chắn là biến đó luôn tồn tại thì trước khi sử dụng hãy kiểm tra nó bằng isset.
Ngoài ra nó còn có một số ứng dụng sau:
- Thường được sử dụng trong From kiểm tra sự xác định của biến
- Kiểm tra sự xác định của phần tử trong mảng phục vụ cho xử lý và xuất giá trị trong mảng
Ví dụ:
//kiểm tra giá trị phần tử trong mảng <?php $var = array( "php", 'laptrinh', null, 27, "php can ban", null ); foreach ($var as $value) { if (isset($value)) { echo 'this var is set <br />'; } else { echo 'this var is not set <br />'; } } /*output: this var is set this var is set this var is not set this var is set this var is set this var is not set*/ ?>
Nếu biến đã được khai báo, nhưng sau đó lại được loại bỏ bởi hàm unset() thì khi kiểm tra với hàm isset() sẽ trả về kết quả FALSE.
Khi sử dụng isset () trên các thuộc tính đối tượng không thể tiếp cận, phương thức nạp chồng __isset () sẽ được gọi, nếu được khai báo.
Các bạn có thể tham khảo thêm về hàm isset tại đây.
Hàm empty($var)
Kiểm tra biến $var có phải giá trị trống hay không. Tất cả các giá trị như: số 0, giá trị null, giá trị rỗng, giá trị false đều được quy về là empty.
Cú pháp
empty($var);
Tham số
Tham số của hàm empty($var) chỉ hỗ trợ khi chỉ có mỗi một biến $var.
Nếu biến $var không tồn tại thì hàm này vẫn không báo lỗi và sẽ trả kết quả về false.
Những giá trị sau đấy được xem là rỗng:
- “” (Chuỗi)
- 0 (0 là số nguyên)
- 0.0 (0 là số thực)
- “0” (0 là chuổi)
NULL
FALSE
- array() (là mảng rỗng)
- $var; (biến chưa khai báo, không có giá trị)
<?php $data = []; if (empty($data)) echo 'Biến này rỗng'; else echo 'Biến này không rỗng';
Hàm empty() được sử dụng trong trường hợp nào
- Sử dụng để kiểm tra giá trị biến xem có rỗng hay không
- Phục vụ cho qua trình kiểm tra chuẩn hóa dữ liệu khi thao tác đến nhận giá trị từ Form
//kiểm tra dữ liệu từ form đăng nhập if (empty($_POST['password'])){ echo 'Bạn chưa nhập tên mật khẩu'; }
Các bạn có thể tham khảo thêm về hàm empty tại đây.
Hàm is_null($var)
Hàm sẽ kiểm tra biến $var có phải giá trị null không.
Nói cách khác, nó chỉ trả về true khi biến là null . is_null () trái ngược với isset (), ngoại trừ một điểm khác biệt là có thể áp dụng ngay bây giờ cho các biến không xác định
<?php $demo= null; if (is_null($demo)) echo 'Biến này là null'; else echo 'Biến này không phải là null';
Các bạn có thể tham khảo thêm về hàm is_null tại đây.
Một số hàm kiểm tra dữ liệu cho biến khác
is_array($var)
Hàm is_array() kiểm tra xem một biến $var có phải là một mảng hay không.
Hàm này trả về true nếu biến là một mảng, nếu không, nó trả về false / nothing.
<?php $yes = array('this', 'is', 'an array'); echo is_array($yes) ? 'Array' : 'not an Array'; echo "\n"; $no = 'this is a string'; echo is_array($no) ? 'Array' : 'not an Array'; ?>
is_string($var)
Kiểm tra biến $var có phải kiểu chuỗi hay không.
<?php $values = array(false, true, null, 'abc', '23', 23, '23.5', 23.5, '', ' ', '0', 0); foreach ($values as $value) { echo "is_string("; var_export($value); echo ") = "; echo var_dump(is_string($value)); } ?>
is_int($var) hoặc is_integer($var)
Kiểm tra biến $var có phải kiểu INT hay không.
<?php $values = array(23, "23", 23.5, "23.5", null, true, false); foreach ($values as $value) { echo "is_int("; var_export($value); echo ") = "; var_dump(is_int($value)); } ?>
is_float($var)
Kiểm ta biến $var có phải kiểu float hay không
var_dump(is_float(27.25)); var_dump(is_float('abc')); var_dump(is_float(23)); var_dump(is_float(23.5)); var_dump(is_float(1e7)); //Scientific Notation var_dump(is_float(true)); ?>
is_double($var)
Kiểm tra biến $var có phải kiểu double hay không.
<?php $var_name=127.55; if (is_double($var_name)) echo 'This is a double value.<br>'; else echo 'This is not a double value.<br>'; echo '<br>'; var_dump(is_double(85)); echo '<br>'; var_dump(is_double(1e8)); echo '<br>'; var_dump(is_double(true)); echo '<br>'; var_dump(is_double(array(23.3, 56, 6))); ?>
in_array($needle, $haystackarray)
Kiểm tra giá trị $needle có trong mảng $haystackarray hay không
<?php $os = array("Mac", "NT", "Irix", "Linux"); if (in_array("Irix", $os)) { echo "Got Irix"; } if (in_array("mac", $os)) { echo "Got mac"; } ?>
array_key_exists($key, $searcharray)
Kiểm tra key $key có trong mảng $searcharray hay không
<?php $search_array = array('first' => 1, 'second' => 4); if (array_key_exists('first', $search_array)) { echo "The 'first' element is in the array"; } ?>
is_numeric($var)
Hàm có tác dụng kiểm tra xem một biến có phải là số hay không
<?php $demo = 20; if (is_numeric($demo)) echo 'Biến này là số'; else echo 'Biến này không phải là số'; ?>
Còn có vô số hàm khác mà mình không thể liệt kê hết được, các bạn có thể vào php.net để tìm tòi và lục lọi những hàm phù hợp với bài toán của các bạn nhé. Các bạn có thể thao khảo link về function tại đây.
Kết thúc
Bạn sẽ phải thường xuyên dùng đến các hàm trên trong quá trình học tập cũng như làm việc với lập trình PHP, qua bài viêt mong bạn đã hình dung được cách sử dụng của chúng và ứng dụng vào mỗi trường hợp của bài toán thật phù hợp.
Mỗi bài viết về kiến thức học PHP của mình đều có thể chưa hoàn toàn đầy đủ, cho nên mong các bạn hãy tra google khi tham khảo và mong bạn có thể gửi lại comment bổ sung bên dưới để mình có thể hoàn thiện lại bài viết hơn. Cảm ơn các bạn!
Xem thêm:
- Bài 11: Các hàm xử lý mảng (Array) trong PHP
- Bài 12: Chuỗi (String) Và Các Hàm Xử Lý Chuỗi Trong PHP
- Bài 13: Phương thức GET và POST trong PHP
- Bài 14: Cookie là gì? Cookie trong PHP
- Bài 15: Session trong PHP
- Bài 16: Các hàm xử lý và làm việc với file trong PHP
- Bài 8: lệnh Break, Continue và các hàm (function) exit, die thường dùng trong PHP
CHÚC CÁC BẠN THÀNH CÔNG VÀ VUI VẺ