PHP str_replace& $ count参数出现奇怪错误

时间:2013-08-26 10:26:00

标签: php codeigniter pass-by-reference str-replace

在Codeigniter控制器中,我有这样的陈述:

$ txt = str_replace($ t,$ bracketted_var,$ txt,& $ count);

$ count变量通过引用传递,我稍后在程序中使用它的更改值。

在使用PHP / 5.3.3-7调用该控制器的新安装中发现了这个响应:

在页面加载时重置了与服务器的连接

在Apache访问日志中没有任何日志条目。在错误日志中,我注意到两个条目: [2013年8月26日星期一12:12:28] [通知]儿童pid 32048退出信号分段故障(11) [2013年8月26日星期一12:12:28] [通知]儿童pid 32082退出信号分段故障(11)

我在没有获取网页内容的情况下尝试了其他几个浏览器和Androind以及iPhone。

该语句不在被调用的函数中。看起来在解析php文件时会出现某种语法错误。

正在搜索解决方案,我发现这个str_replace语句没有给出错误:

$ txt = str_replace($ t,$ bracketted_var,$ txt,$ count);

我确实暂时进行了更改,以便控制器的其他部分正常工作。 但我需要使用一个更改的$ count变量和许多更改。有什么建议吗?

搜索我没有找到任何有关此类错误的信息。

1 个答案:

答案 0 :(得分:0)

不推荐使用引用的调用时间传递(在PHP> v5.3中,它在v5.4中被完全删除,此时它将引发致命错误)。您现在可以保留它,$count应该更新,因为它被str_replace本身表示为引用。

http://php.net/manual/en/function.str-replace.phphttp://php.net/manual/en/language.references.pass.php