php函数传值的引用传递注意事项分析


Posted in PHP onJune 25, 2016

本文实例讲述了php函数传值的引用传递注意事项。分享给大家供大家参考,具体如下:

Strict standards: Only variables should be passed by reference

网上查到资料有这么一句话:

在php5.3以上版本会出这个问题,应该也和php的配置有关,只要把这一句拆成两句就没有问题了。因为array_walk的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值。当然你也可以修改php.ini 里的 error_reporting = E_ALL | E_STRICT,但这终究不符合规范。

$suffix = array_pop(explode(".",$file_name));

为什么高版本的会这样子限制呢?

我去看手册中的函数原型:

mixed array_pop ( array &$array )
bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )

&符号指定了变量传入进去,是引用方式传递。

改为:

$file_name_arr = explode(".",$file_name);
$suffix = array_pop($file_name_arr);

就可以。

实际上也只是报出一个警告。不是致命错误。正常结果是能够得到。比如这里得到文件名的后缀,是正常的。

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
使用apache模块rewrite_module (转)
Feb 14 PHP
PHP5.2下chunk_split()函数整数溢出漏洞 分析
Jun 06 PHP
php 文章采集正则代码
Dec 28 PHP
php checkbox 取值详细说明
Aug 19 PHP
php获取字段名示例分享
Mar 03 PHP
php实现可用于mysql,mssql,pg数据库操作类
Dec 13 PHP
PHP中的流(streams)浅析
Jul 02 PHP
php简单日历函数
Oct 28 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
Apr 01 PHP
JavaScript实现删除电脑的关机键
Jul 26 PHP
基于yaf框架和uploadify插件,做的一个导入excel文件,查看并保存数据的功能
Jan 24 PHP
php redis实现对200w用户的即时推送
Mar 04 PHP
php好代码风格的阶段性总结
Jun 25 #PHP
php编译安装php-amq扩展简明教程
Jun 25 #PHP
将PHP的session数据存储到数据库中的代码实例
Jun 24 #PHP
php自动载入类用法实例分析
Jun 24 #PHP
php模拟post上传图片实现代码
Jun 24 #PHP
一个简单安全的PHP验证码类 附调用方法
Jun 24 #PHP
java微信开发之上传下载多媒体文件
Jun 24 #PHP
You might like
ThinkPHP中order()使用方法详解
2016/04/19 PHP
PHP数字金额转换成中文大写显示
2019/01/05 PHP
ThinkPHP5.0框架实现切换数据库的方法分析
2019/10/30 PHP
JavaScript 常见对象类创建代码与优缺点分析
2009/12/07 Javascript
一个javascript图片阅览组件
2010/11/09 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
JavaScript函数参数使用带参数名的方式赋值传入的方法
2015/03/19 Javascript
基于ajax实现文件上传并显示进度条
2015/08/03 Javascript
AngularJS 简单应用实例
2016/07/28 Javascript
微信小程序 action-sheet底部菜单详解
2016/10/27 Javascript
javascript笔记之匿名函数和闭包
2017/02/06 Javascript
浅谈jQuery中的$.extend方法来扩展JSON对象
2017/02/12 Javascript
JS实现PC手机端和嵌入式滑动拼图验证码三种效果
2017/02/15 Javascript
无法获取隐藏元素宽度和高度的解决方案
2017/03/07 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
nodejs调取微信收货地址的方法
2017/12/20 NodeJs
详解给Vue2路由导航钩子和axios拦截器做个封装
2018/04/10 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
[57:53]Secret vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Django实现图片文字同时提交的方法
2015/05/26 Python
python提取字典key列表的方法
2015/07/11 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
Python图像处理实现两幅图像合成一幅图像的方法【测试可用】
2019/01/04 Python
Python操作redis和mongoDB的方法
2019/12/19 Python
使用Html5 Stream开发实时监控系统
2020/06/02 HTML / CSS
盛大二次面试题
2016/11/18 面试题
override和overload的区别
2016/03/09 面试题
音乐系毕业生自荐信
2013/10/27 职场文书
寒假家长评语大全
2014/04/16 职场文书
小学生母亲节演讲稿
2014/05/07 职场文书
大学运动会加油稿
2015/07/22 职场文书
慰问信(范文3篇)
2019/10/23 职场文书
在Windows下安装配置CPU版的PyTorch的方法
2021/04/02 Python