1 |
mixed filter_input ( int $type , string $variable_name [, int $filter = FILTER_DEFAULT [, mixed $options ]] ) |
Parameters
type
One of INPUT_GET, INPUT_POST, INPUT_COOKIE, INPUT_SERVER, or INPUT_ENV.
variable_name
Name of a variable to get.
filter
The ID of the filter to apply. The Types of filters manual page lists the available filters.
If omitted, FILTER_DEFAULT will be used, which is equivalent to FILTER_UNSAFE_RAW. This will result in no filtering taking place by default.
options
Associative array of options or bitwise disjunction of flags. If filter accepts options, flags can be provided in “flags” field of array.
หากเราไม่ใช้ filter_input ในการกำหนดค่าตัวแปลภายนอก เราอาจจะต้องใช้โค๊ดด้านล่างนี้เพื่อไม่ให้ PHP แจ้งเออเลอร์ E_NOTICE, E_WARNING , E_ERROR.
1 2 3 4 5 6 7 8 9 10 |
<?php if (!isset($_GET['a'])) { $a = null; } elseif (!is_string($_GET['a'])) { $a = false; } else { $a = $_GET['a']; } $b = isset($_GET['b']) && is_string($_GET['b']) ? $_GET['b'] : ''; ?> |
เปลี่ยนจากโค๊ดด้านบนมาใช้โค๊ดด้านล่างในการกำหนดค่าตัวแปล
1 2 3 4 |
<?php $a = filter_input(INPUT_GET, 'a'); $b = (string)filter_input(INPUT_GET, 'b'); ?> |
Yes, FILTER_REQUIRE_SCALAR seems to be set as a default option.
It’s very helpful for eliminating E_NOTICE, E_WARNING and E_ERROR.
This fact should be documented.
ดูเพิ่มเติม http://www.php.net/manual/en/function.filter-input.php