PHP 判断常量,变量和函数是否存在

yipeiwu_com5年前PHP代码库

复制代码 代码如下:

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

相关文章

学习php设计模式 php实现门面模式(Facade)

学习php设计模式 php实现门面模式(Facade)

一、意图 为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层次的接口,使得子系统更加容易使用【GOF95】 外部与子系统的通信是通过一个门面(Facade)对象进行。...

php中this关键字用法分析

本文实例讲述了php中this关键字用法。分享给大家供大家参考,具体如下: 下面定义了一个Cart类 <?php class Cart { var $items;...

浅析PHP原理之变量分离/引用(Variables Separation)

首先我们回顾一下zval的结构:复制代码 代码如下:struct _zval_struct {       &nbs...

学习php设计模式 php实现合成模式(composite)

学习php设计模式 php实现合成模式(composite)

一、意图 将对象组合成树形结构以表示”部分-整体”的层次结构。Composite使用户对单个对象和组合对象的使用具有一致性。 Composite变化的是一个对象的结构和组成。 二、合成模...

详解PHP序列化和反序列化原理

0.前言 对象的序列化和反序列化作用就不再赘述,php中序列化的结果是一个php自定义的字符串格式,有点类似json. 我们在任何语言中设计对象的序列化和反序列化都需要解决几个问题 把某...