is_callable() 函数用于检测函数在当前环境中是否可调用。高佣联盟 www.cgewang.com

is_callable() 函数验证变量的内容能否作为函数调用。 这可以检查包含有效函数名的变量,或者一个数组,包含了正确编码的对象以及函数名。

PHP 版本要求:PHP 4 >= 4.0.6, PHP 5, PHP 7

语法

bool is_callable ( callable $name [, bool $syntax_only = false [, string &$callable_name ]] )

参数说明:

  • $name:要检查的回调函数。
  • $syntax_only:如果设置为 TRUE,这个函数仅仅验证 name 可能是函数或方法。 它仅仅拒绝非字符,或者未包含能用于回调函数的有效结构。有效的应该包含两个元素,第一个是一个对象或者字符,第二个元素是个字符。
  • $callable_name:接受"可调用的名称"。

返回值

如果 name 可调用则返回 TRUE,否则返回 FALSE。。

实例

实例

<?php // 检测变量是否为可调用的函数 function someFunction() { } $functionVariable = 'someFunction'; var_dump(is_callable($functionVariable, false, $callable_name)); // bool(true) echo $callable_name, "\n"; // someFunction // // 数组中包含方法 // class someClass { function someMethod() { } } $anObject = new someClass(); $methodVariable = array($anObject, 'someMethod'); var_dump(is_callable($methodVariable, true, $callable_name)); // bool(true) echo $callable_name, "\n"; // someClass::someMethod ?>

输出结果为:

bool(true)
someFunction
bool(true)
someClass::someMethod

PHP is_callable() 函数的更多相关文章

  1. 判断某个方法是否存在,解析php函数function_exists (),method_exists()与is_callable()的区别

    php函数function_exists (),method_exists() 与is_callable()的区别在哪? 先来讲下后两个:method_exists() 与is_callable(): ...

  2. php函数method_exists() 与is_callable()区别

    php函数method_exists()与is_callable()的区别在哪?在php面相对象设计过程中,往往我们需要在调用某一个方法是否属于某一个类的时候做出判断,常用的方法有method_exi ...

  3. 深入理解is_callable和method_exists

    一.函数解析 is_callable() 定义: (PHP 4 >= 4.0.6, PHP 5, PHP 7) is_callable — 检测参数是否为合法的可调用结构 bool is_cal ...

  4. php中_initialize()函数与 __construct()函数的区别说明

    _initialize()方法是在任何方法执行之前,都要执行的,当然也包括 __construct构造函数. 也就是说如果存在_initialize()函数,调用对象的任何方法都会导致_initial ...

  5. function_exists (),method_exists()与is_callable()的区别

    is_callable()函数要高级一些,它接受字符串变量形式的方法名作为 第一个参数,如果类方法存在并且可以调用,则返回true.如果要检测类中的方法是否能被调用,可以给函数传递一个数组而不是类的方 ...

  6. Symfony2 EventDispatcher组件

            一个插件系统中,A插件在不影响其它插件的前提下,添加新的方法,或者在一个方法运行前做一些准备工作,通过继承来实现扩展是很不容易的,由于插件之间的关联关系,A插件的改变也会使得关联的插件 ...

  7. PHP基础记录

    1. require和require_once的区别 require_once()包涵是绝对路径 include() 和require() :语句包括并运行指定文件. include() 产生一个警告 ...

  8. 从零开始的全栈工程师——PHP篇 ( 单词汇总 ) ( php解决文字乱码 )

    解决乱码: header("Content-Type: text/html;charset=utf-8"); 单词 局部的: local 全局的: global 静态的: stat ...

  9. php基础复习

    基础捡漏: 1.短标记<??> 通过修改ini文件的short_open_tag或编译时 --enable-short-tags 可用 不推荐使用. 2.?>默认有隐藏分号结束,而文 ...

随机推荐

  1. 阿里云Linux CentOS8.1 64位服务器安装LNMP(Linux+Nginx+MySQL+PHP) 并发调试之调试工具ab(apache bench)

    ab 测试工具,全称是 apache bench ,是 Apache 提供的一款测试工具,具有简单易上手的特点,在测试 Web 服务时非常实用. ab 可以在 Windows 系统中使用,也可以在 L ...

  2. Java中保留小数点后几位

    不想多说啥了..ε=(´ο`*)))唉  基础都给忘了..今天比赛 跌入十八层地狱.... 用DecimalFormat对象的format方法进行格式化.. package cn.test; impo ...

  3. (五)ELK Logstash output

    # 输出插件将数据发送到一个特定的目的地, 除了elasticsearch还有好多可输出的地方, 例如file, csv, mongodb, redis, syslog等 output { if [t ...

  4. abp重构登录

    a.Core层 Authorization.Users.UserStore.cs public class UserStore : AbpUserStore<Role, User> { p ...

  5. Dubbo 高危漏洞!原来都是反序列化惹得祸

    前言 这周收到外部合作同事推送的一篇文章,[漏洞通告]Apache Dubbo Provider默认反序列化远程代码执行漏洞(CVE-2020-1948)通告. 按照文章披露的漏洞影响范围,可以说是当 ...

  6. day54 js基础

    目录 一.变量 二.数据类型 1 数值类型(number) 2 字符类型(string) 3 字符类型常用方法 4 布尔值(boolean) 5 null与undefined 6 对象 7 运算符 8 ...

  7. 双向绑定和 vuex 是否冲突

    在严格模式下确实有问题,解决方案: https://vuex.vuejs.org/zh/guide/forms.html

  8. shell专题(四):Shell中的变量

    4.1 系统变量 1. 常用系统变量 $HOME.$PWD.$SHELL.$USER等 2.案例实操 (1)查看系统变量的值 [atguigu@hadoop101 datas]$ echo $HOME ...

  9. MYSQL 之 JDBC(十六): DBUtils

    DBUtils是Apache组织提供的一个开源的JDBC工具类库,能极大简化jdbc编码的工作量 API介绍 QueryRunner ResultSetHandler 工具类DbUtils 用DBUt ...

  10. Flask 基础组件(四):模板

    1.模板的使用 1.1  语法 1.1.1 流程控制 逻辑语法 Jinja2模板语言中的 for {% for foo in g %} {% endfor %} Jinja2模板语言中的 if {% ...