PHP开发中函数引用传递的注意事项

来源:爱站网时间:2020-12-24编辑:网友分享
在进行PHP开发时,我们经常使用值调用函数。今天我们看到一个代码函数参数有一个变量,今天爱站技术频道小编就给大家具体介绍PHP开发中函数引用传递的注意事项,以供参考。

在进行PHP开发时,我们经常使用值调用函数。今天我们看到一个代码函数参数有一个变量,今天爱站技术频道小编就给大家具体介绍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自动加载类的使用方法

您可能感兴趣的文章

相关阅读

热门软件源码

最新软件源码下载