PHP两个常见不常用的方法 method_exists call_user_func

method_exists判断方法是否存在

<?php

class F{
    public function __construct(){
        if(method_exists($this, ‘son_fun1‘)){
            echo ‘son_fun1存在‘;
        }else{
            echo ‘son_fun1不存在‘;
        }
        if(method_exists($this,‘son_fun2‘)){
            echo ‘son_fun2存在‘;
        }else{
            echo ‘son_fun2不存在‘;
        }
    }
}
class S extends F{
    public function son_fun1(){
    }
}
$a = new S();

call_user_func 动态传入函数方法名

<?php
error_reporting(E_ALL);
function increment(&$var)
{
    $var++;
}

$a = 0;
call_user_func(‘increment‘, $a);
echo $a."\n";

// You can use this instead
call_user_func_array(‘increment‘, array(&$a));//要被传入回调函数的数组得是索引数组。
echo $a."\n";

  

时间: 2024-10-28 15:12:38

PHP两个常见不常用的方法 method_exists call_user_func的相关文章

内存数据持久化的两种常见方法

内存数据持久化的两种常见方法: 1.将内存数据定期dump到磁盘 优点:效率高,操作简便 缺点:会损失部分数据 2.利用类似于mysql的binlog日志的方式,记录更新操作,需要时回放数据 优点:可保证数据完整性 缺点:会损失部分性能,实现稍微复杂点 redis实现了这两种方式

Python中执行系统命令常见的几种方法--转载

Python中执行系统命令常见的几种方法 Python中执行系统命令常见的几种方法有: (1)os.system # 仅仅在一个子终端运行系统命令,而不能获取命令执行后的返回信息 # 如果再命令行下执行,结果直接打印出来 例如: >>> import os >>> os.system('ls') chk_err_log.py CmdTool.log  install_log.txt  install_zabbix.sh  manage_deploy.sh  MegaSA

jquery ajax中支持哪些返回类型以及js中判断一个类型常用的方法?

1 jquery ajax中支持哪些返回类型在JQuery中,AJAX有三种实现方式:$.ajax() , $.post , $.get(). 预期服务器返回的数据类型.如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML.在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本.随后服务器端返回的数据会根据这个值解析后,传递给回调 函数.可用值: •"xml": 返回

视频图像去模糊常用处理方法

视频图像去模糊常用处理方法 随着“平安城市”的广泛建设,各大城市已经建有大量的视频监控系统,虽然监控系统己经广泛地存在于银行.商场.车站和交通路口等公共场所,但是在公安工作中,由于设备或者其他条件的限制,案情发生后的图像回放都存在图像不清晰,数据不完整的问题,无法为案件的及时侦破提供有效线索.经常出现嫌疑人面部特征不清晰,难以辨认,嫌疑车辆车牌模糊无法辨认等问题.这给公安部门破案.法院的取证都带来了极大的麻烦.随着平安城市的推广.各地各类监控系统建设的进一步推进,此类问题会越来越突出. 一.模糊

常用lua-cocos方法

原文:http://shahdza.blog.51cto.com/2410787/1569003 [唠叨] 现在开始学习Lua了,开始用 Cocos Code IDE 开发cocos2dx的游戏了. 可是呢,因为 cocos2dx v3.x 刚刚才出来不久,所以网上的教程大部分都是基于C++版本的, 而针对Lua版本的大部分都是老版本 v2.x 的教程,对于用 v3.x 的我来说,很多都不适用了. 无奈之下只好自己摸索,经过几天的学习,积累了一些 Lua 与 C++ 开发cocos2dx游戏之间

两个常见位操作面试题 不用加减乘除运算符计算两数之和及a b 3

分享一下我老师大神的人工智能教程吧.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!http://www.captainbed.net <两个常见位操作面试题不用加减乘除运算符计算两数之和及a=b*3> 地址:http://blog.csdn.net/morewindows/article/details/8710737转载请标明出处,谢谢. 欢迎关注微博:http://weibo.com/MoreWindows 上一篇<位操作基础篇之位操作全面总结>

实现两数交换的几种方法

#实现两数交换的几种方法: - - 1.常见的方法(采用临时变量) int x=10; int y=20; int temp=x;//定义临时变量 x=y; y=temp; - 2.异或的方法 int x=10; int y=20; x=x^y; y=x^y;//y=x^y^y=x;即y=10; x=x^y;//x=x^y^x=y;即x=20; ``` - 3.自加的方法 int x=10; int y=20; x=x+y;//x=30; y=x-y;//y=30-20=10; x=x-y;//

VC的常用调试方法

前言 VS是非常强大的IDE,所以掌握VSVC的常用方法,将会使得我们找出问题解决问题事半功倍. 目录 VSVC的常用调试方法 前言 1. Watch窗口查看伪变量 2. 查看指针指向的一序列值 3. 内存泄露查找 4. 调试Release版本 5. 远程调试 6. 函数断点 7. 数据断点. 8. 代码执行时间 9. 格式化数据 10. 格式化内存 Watch窗口查看伪变量 按MSDN的介绍,伪变量就是用来查看特定信息的术语.例如当调用的API失败时,可以用GetLastError获取对应的错

LINQ常用扩展方法

下面的方法都是IEnumerable<T>的扩展方法: Average计算平均值: Min最小元素:Max最大元素:Sum元素总和: Count元素数量: Concat连接两个序列://Unoin all Contains序列是否包含指定元素: Distinct取得序列中的非重复元素: Except获得两个序列的差集: Intersect获得两个序列的交集: First取得序列第一个元素: Single取得序列的唯一一个元素,如果元素个数不是1个,则报错:!!!严谨的程序. FirstOrDe