wordpress - PHP中$this和&$this有什么区别
call_user_func_array(array($this, 'func'), $param_arr);
call_user_func_array(array(&$this, 'func'), $param_arr);
其中$this和&$this,有什么区别吗?对象不都是引用嘛?在wordpress的钩子里经常见到类似下面的语句
add_filter('import_post_meta_key', array($this, 'is_valid_meta_key'));
add_filter('http_request_timeout', array(&$this, 'bump_request_timeout'));
求解答~
回复内容:
比如下面两个语句:
call_user_func_array(array($this, 'func'), $param_arr);
call_user_func_array(array(&$this, 'func'), $param_arr);
其中$this和&$this,有什么区别吗?对象不都是引用嘛?在wordpress的钩子里经常见到类似下面的语句
add_filter('import_post_meta_key', array($this, 'is_valid_meta_key'));
add_filter('http_request_timeout', array(&$this, 'bump_request_timeout'));
求解答~
如果我没理解错的话,&$this
是为了兼容 PHP 5.2 及以下版本才这么写的,如果用了最新的 PHP 应该是等价的。
PHP引用传递,看下这篇文章就了解了 http://m.baidu.com/from=1269a/bd_page_type=1/ssid=0/uid=0/pu=usm%400%2Csz%401320_1001%2Cta%40iphone_2_4.1_3_537/baiduid=0AF2F0C34034DD7478809F025903D4FA/w=0_10_php%E5%BC%95%E7%94%A8%E4%BC%A0%E9%80%92/t=iphone/l=3/tc?ref=www_iphone&lid=8973481160499757776&order=1&vit=osres&tj=www_normal_1_0_10&m=8&srd=1&cltj=cloud_title&dict=20&fm=wnor&sec=43095&di=46cc7fb35bcae0a5&bdenc=1&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRASDDmX7iNJVGwdoS4csxNaT0u3mRU7xJ_r0dmpWkbznuPdPrhgK3AHRMOfQNkNNbWVS7
上一篇: 跨数据库复制表数据
推荐阅读
-
解析WordPress中控制用户登陆和判断用户登陆的PHP函数
-
PHP中模拟链表和链表的基本操作示例
-
详解WordPress中的头像缓存和代理中的缓存更新方法
-
Win10 build 10547中Edge浏览器版本号有两个 分别用于浏览器和渲染引擎
-
Axure全局辅助线和页面辅助线有什么区别?
-
http和https有什么区别?网站有没有必要启用https
-
微软Surface 3和Surface Pro 3有什么区别?微软Surface系列规格对比
-
PHP中array_keys和array_unique函数源码的分析
-
Visual Studio创建64位和32位项目有什么区别?
-
php中require和require_once的区别说明