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 相关文章推荐
PHP 超链接 抓取实现代码
Jun 29 PHP
PHP中通过加号合并数组的一个简单方法分享
Jan 27 PHP
php错误提示failed to open stream: HTTP request failed!的完美解决方法
Jun 06 PHP
php中CI操作多个数据库的代码
Jul 05 PHP
通过缓存数据库结果提高PHP性能的原理介绍
Sep 05 PHP
PHP利用str_replace防注入的方法
Nov 10 PHP
PHP实现服务器状态监控的方法
Dec 09 PHP
php获取文件类型和文件信息的方法
Jul 10 PHP
iOS10推送通知开发教程
Sep 19 PHP
thinkphp ajaxfileupload实现异步上传图片的示例
Aug 28 PHP
利用Laravel生成Gravatar头像地址的优雅方法
Dec 30 PHP
php-app开发接口加密详解
Apr 18 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
Apache2 httpd.conf 中文版
2006/12/06 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
PHP中addslashes()和stripslashes()实现字符串转义和还原用法实例
2016/01/07 PHP
PHP实现的大文件切割与合并功能示例
2018/04/10 PHP
浅谈PHP5.6 与 PHP7.0 区别
2019/10/09 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
PHP+MySQL实现在线测试答题实例
2020/01/02 PHP
javascript使用正则表达式实现去掉空格之后的字符
2015/02/15 Javascript
javascript中的五种基本数据类型
2015/08/26 Javascript
JavaScript构造函数详解
2015/12/27 Javascript
js H5 canvas投篮小游戏
2016/08/18 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
Angular 输入框实现自定义验证功能
2017/02/19 Javascript
JavaScript 中 apply 、call 的详解
2017/03/21 Javascript
浅谈Vue SPA 首屏加载优化实践
2017/12/15 Javascript
nodejs实现解析xml字符串为对象的方法示例
2018/03/14 NodeJs
vue单页缓存存在的问题及解决方案(小结)
2018/09/25 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
vue tab切换,解决echartst图表宽度只有100px的问题
2020/07/19 Javascript
pygame实现弹力球及其变速效果
2017/07/03 Python
Python PyQt5标准对话框用法示例
2017/08/23 Python
python实现指定文件夹下的指定文件移动到指定位置
2018/09/17 Python
Python提取特定时间段内数据的方法实例
2019/04/01 Python
python操作kafka实践的示例代码
2019/06/19 Python
Python如何在main中调用函数内的函数方式
2020/06/01 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
2020/11/02 Python
size?瑞典:英国伦敦的球鞋精品店
2018/03/01 全球购物
物流仓储实习自我鉴定
2013/09/25 职场文书
行政专员岗位职责说明书
2014/07/30 职场文书
2015年党风廉政建设工作总结
2015/04/09 职场文书
运动会报道稿大全
2015/07/23 职场文书
2019年大学生学年自我鉴定!
2019/03/25 职场文书
redis中lua脚本使用教程
2021/11/01 Redis
动画「进击的巨人」第86话播出感谢绘公开
2022/03/21 日漫
星际争霸:毕姥爷vs解冻01
2022/04/01 星际争霸