PHP Conference Japan 2024

filter_has_var

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

filter_has_var檢查指定類型的變數是否存在

描述

filter_has_var(int $input_type, string $var_name): bool

參數

input_type

必須是 INPUT_GETINPUT_POSTINPUT_COOKIEINPUT_SERVERINPUT_ENV 其中之一。

var_name

要檢查的變數名稱。

返回值

成功時返回 true,失敗時返回 false

新增註記

使用者貢獻的註記 2 則註記

33
drm at melp dot nl
15 年前
請注意,此函式並不會檢查目前的陣列,而是檢查 PHP 收到的內容。

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

會顯示「No」,除非該參數實際上存在於查詢字串中。

此外,如果輸入變數為空,則會顯示「Yes」。
19
nanhe dot kumar at gmail dot com
11 年前
透過這個例子,我想您可以更好地理解

if ( !filter_has_var(INPUT_GET, 'email') ) {
echo "找不到 Email";
}else{
echo "找到 Email";
}
輸出

localhost/nanhe/test.php?email=1 //找到 Email
localhost/nanhe/test.php?email //找到 Email
https://127.0.0.1/nanhe/test.php //找不到 Email

考慮第二個例子

https://127.0.0.1/nanhe/test.php
$_GET['email']="info@nanhe.in";
if ( !filter_has_var(INPUT_GET, 'email') ) {
echo "找不到 Email";
}else{
echo "找到 Email";
}
但輸出將是找不到 Email
To Top