常量檢測使用defined,定義常量則是define。注意待檢測的常量需要使用引號(單雙均可),如:
代碼如下
if (defined('CONST_NAME')) {
//do something
}
變量檢測則是使用isset,注意變量未聲明或聲明時賦值為NULL,isset均返回FALSE,如:
代碼如下
if (isset($var_name)) {
//do something
}
函數檢測用function_exists,注意待檢測的函數名也需要使用引號,如:
if (function_exists('fun_name')) {
fun_name();
}
先不說多了我們看一個實例
代碼如下
<?php
/* 判斷常量是否存在*/
if (defined('MYCONSTANT')) {
echo MYCONSTANT;
}
//判斷變量是否存在
if (isset($myvar)) {
echo "存在變量$myvar.";
}
//判斷函數是否存在
if (function_exists('imap_open')) {
echo "存在函數imag_openn";
} else {
echo "函數imag_open不存在n";
}
?>
function_exists判斷函數是否存在
代碼如下
<?php
if (function_exists('test_func')) {
echo "函數test_func存在";
} else {
echo "函數test_func不存在";
}
?>
filter_has_var函數
filter_has_var() 函數檢查是否存在指定輸入類型的變量。
若成功,則返回 true,否則返回 false。
代碼如下
<?php
if(!filter_has_var(INPUT_GET, "name"))
{
echo("Input type does not exist");
}
else
{
echo("Input type exists");
}
?>
輸出為. Input type exists