PHP str_replace() 在用户定义的函数中不起作用

Posted

技术标签:

【中文标题】PHP str_replace() 在用户定义的函数中不起作用【英文标题】:PHP str_replace( ) won't work in user defined function 【发布时间】:2014-07-09 11:29:59 【问题描述】:

当我尝试使用 str_replace 创建用户定义的函数时,它没有任何效果。当不在用户定义的函数中时,相同代码的组件可以完美地工作。下面显示了我的问题的简单表示。

<?php
function replacelist($thetext) 
    $seachfor = array("crackers","soup");
    $replacewith = array("shapes","stew");
    $newtext = str_replace($searchfor, $replacewith, $thetext);
    return $newtext." - plus some test text";
    
?>


<?php
$mytext="Animal crackers in my soup";

$newphrase = replacelist($mytext);

echo $newphrase;
?>

以上结果

我的汤里有动物饼干 - 加上一些测试文本

感谢您的帮助。

谢谢大卫

【问题讨论】:

激活错误报告!它会告诉你你的变量名打错了。 TYPO - $seachfor 和 $searchfor 通常最好复制/粘贴变量以避免拼写错误。 @Koninos 或者使用像样的 IDE... 【参考方案1】:

正确拼写$seachfor,它将起作用。

【讨论】:

这很尴尬。我现在有我更复杂的版本。 - 非常感谢您的帮助

以上是关于PHP str_replace() 在用户定义的函数中不起作用的主要内容,如果未能解决你的问题,请参考以下文章

php替换换行

utf-8 (PHP, str_replace) 中是不是有不同类型的双引号?

PHP str_replace 函数

PHP:“......变量可以通过引用传递”在str_replace()?

关于php strtr 和 str_replace 效率的问题

PHP 过滤特殊符号