Hàm filter_input_array() trong PHP là gì ?

05/08/2022 - lượt xem
Chia sẻ
 
5/5 - (2 bình chọn)

Hàm filter_input_array() trong PHP có nhiệm vụ lọc các biến từ biến được định nghĩa trước như INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, INPUT_ENV.

filter_input_array ( int $type [, mixed $definition [, bool $add_empty = TRUE ]] ) : mixed

Tham số truyền vào 

  • $type là một trong những biến sau INPUT_GETINPUT_POSTINPUT_COOKIEINPUT_SERVER, or INPUT_ENV.
  • $variable_name là tên biến mà bạn muốn kiểm tra.

Giá trị trả về

Hàm này trả về TRUE nếu tồn tại và FALSE nếu thất bại.

Ví dụ minh họa

<?php
$_GET['test'] = 1;
echo filter_has_var(INPUT_GET'test') ? 'Yes' 'No';
?>

Và kết quả trả về sẽ là

No

Trong trường hợp này bạn có thể thấy giá trị  test có tồn tại trong biến $_GET nhưng trong PHP hàm  filter_has_var() chỉ nhận giá trị khi nó thực sự này trong chuỗi truy vấn. 

Ứng dụng

 if ( !filter_has_var(INPUT_GET, 'email') ) {
        echo "Email Not Found";
    }else{
        echo "Email Found";
    }
   
    localhost/nanhe/test.php?email=1 //Email Found
    localhost/nanhe/test.php?email //Email Found
    http://localhost/nanhe/test.php //Email Not Found

Consider on second example

http://localhost/nanhe/test.php
$_GET['email']="[email protected]";
if ( !filter_has_var(INPUT_GET, 'email') ) {
        echo "Email Not Found";
    }else{
        echo "Email Found";
    }
//Email Not Found

Trong ví dụ trên bạn có thể thấy việc sử dụng hàm filter_has_var() để đảm bảo biến được truyền lên bằng GET, trong nhiều trường hợp khác nhau bạn cũng có thể cân nhắc sử dụng hai hàm khác trong việc kiểm tra dữ liệu là isset() hoặc empty().

<?php
$_GET['test'] = 1;

echo filter_has_var(INPUT_GET, 'test') ? 'Yes' : 'No';
// No
echo isset($GET['test']) ? 'Yes': 'No';
// No
echo empty($GET['test']) ? 'Yes': 'No';
// No
?>

Nhưng cũng với các hàm trên nếu bạn truyền biến $_GET thông qua một câu truy vấn, mọi thứ sẽ khác.

https://localhost/baitap/filter.php?test=1
<?php
echo filter_has_var(INPUT_GET, 'test') ? 'Yes' : 'No';
// Yes
echo isset($GET['test']) ? 'Yes': 'No';
// No
echo empty($GET['test']) ? 'Yes': 'No';
// Yes
?>

Các hàm liên quan

  • isset() hàm kiểm tra biến có tồn tại.
  • empty() hàm kiểm tra biến rỗng.

Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm filter_has_var() trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé. Cảm ơn bạn đã ghé thăm codetutam.com

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

    5/5 - (2 bình chọn)

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm