php 判断常量、变量和函数是否存在

在php开发中我们经常会面要提供预定义判断变量或常量或函数是不是有了,下面我来介绍一些常用的判断常量、变量和函数是否存在应用实例。

常量检测使用defined,定义常量则是define,注意待检测的常量需要使用引号,单双均可,代码如下:

  1. if (defined('CONST_NAME')) {
  2. //do something
  3. }

变量检测则是使用isset,注意变量未声明或声明时赋值为NULL,isset均返回FALSE,代码如下:

  1. if (isset($var_name)) {
  2. //do something
  3. }

函数检测用function_exists,注意待检测的函数名也需要使用引号,如:

  1. if (function_exists('fun_name')) {
  2. fun_name();
  3. }

先不说多了我们看一个实例,代码如下:

  1. <?php
  2. /* 判断常量是否存在*/
  3. if (defined('MYCONSTANT')) {
  4. echo MYCONSTANT;
  5. }
  6. //判断变量是否存在
  7. if (isset($myvar)) {
  8. echo "存在变量$myvar.";
  9. }
  10. //判断函数是否存在
  11. if (function_exists('imap_open')) {
  12. echo "存在函数imag_openn";
  13. } else {
  14. echo "函数imag_open不存在n";
  15. }
  16. ?>

function_exists判断函数是否存在,代码如下:

  1. <?php
  2. if (function_exists('test_func')) {
  3. echo "函数test_func存在";
  4. } else {
  5. echo "函数test_func不存在";
  6. }
  7. ?>

filter_has_var函数,filter_has_var() 函数检查是否存在指定输入类型的变量,若成功,则返回 true,否则返回 false,代码如下:

  1. <?php
  2. if(!filter_has_var(INPUT_GET, "name"))
  3. {
  4. echo("Input type does not exist");
  5. }
  6. else
  7. {
  8. echo("Input type exists");
  9. }
  10. ?>
输出为. Input type exists