微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

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

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

PHP5.3以上版本会出这个问题,应该也和PHP的配置有关,只要把这一句拆成两句就没有问题了。

因为array_walk的参数是引用传递的,5.3以上认只能传递具体的变量,而不能通过函数返回值。

当然你也可以修改PHP.ini 里的 error_reporting = E_ALL | E_STRICT,但这终究不符合规范。

rush:PHP;"> $suffix = array_pop(explode(".",$file_name));

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

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

rush:PHP;"> mixed array_pop ( array &$array ) bool array_walk ( array &$array,callable $funcname [,mixed $userdata = NULL ] )

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

改为:

rush:PHP;"> $file_name_arr = explode(".",$file_name); $suffix = array_pop($file_name_arr);

就可以。

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

更多关于PHP相关内容感兴趣的读者可查看本站专题:《》、《》、《》、《》、《》、《》、《》、及《

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐