Strict Standards: Only variables should be passed by reference in
发布:smiling 来源: PHP粉丝网 添加日期:2013-12-06 22:58:52 浏览: 评论:0
php中使用内置的reset函数可以获取array的第一个元素的值,例如:
- $arr = array('one', 'two', 'three');
- echo reset($arr);
- // 输出的结果为 one对于下述代码,如果php开启了"Strict Standards",将会看到"Strict Standards: Only variables should be passed by reference in"的提示。
$str = 'phpfensi.com';echo reset(explode('.', $str));
为什么会这样呢?可以先看看reset函数的定义:
function reset (array &$array) {}从定义中可以看到,reset接受的参数是一个array的引用,而上述代码中explode返回值不是任何array的引用,所以在"Strict Standards"下会有上述提示。解决办法很简单,只需要把reset(explode('.', $str))分两步写即可,第一步先把explode的返回值赋给一个变量,第二步把这个变量作为reset参数。
出现上面的提示的不只是reset函数,只要参数接受的是对象引用,而传值直接使用function返回值都会看到那样的提示。例如内置的array_pop、shuffle、curent、next、prev、next等等.
Tags: variables should be passed
相关文章
- ·php中使用is_numberic函数注意事项(2014-08-21)
- ·PHP中number_format函数输出数字格式化,增加千分位符号(2015-04-15)
- ·php number_format函数怎么用?(2020-02-22)
- ·PHP使用Beanstalkd实例详解(2020-04-14)
- ·PHP中number_format()函数的用法讲解(2021-11-15)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)