Strict Standards: Only variables should be passed by referen
发布时间:2020-12-13 20:30:06 所属栏目:PHP教程 来源:网络整理
导读:php中使用内置的reset函数可以获取array的第一个元素的值,例如: $arr = array ( one , two , three ); echo reset( $arr ); //输出的结果为one对于下述代码,如果php开启了StrictStandards,将会看到StrictStandards:Onlyvariablesshouldbepassedbyreferenc
php中使用内置的reset函数可以获取array的第一个元素的值,例如:
$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等等. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |