标题 | 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程序设计有所帮助。 |
随便看 |
|
在线学习网考试资料包含高考、自考、专升本考试、人事考试、公务员考试、大学生村官考试、特岗教师招聘考试、事业单位招聘考试、企业人才招聘、银行招聘、教师招聘、农村信用社招聘、各类资格证书考试等各类考试资料。