我正在使用str_ireplace()删除数组中的字符串实例,并且我返回计算出现的次数,但它实际上并没有执行替换。
//replace occurances of insert, update, delete, select
$dmlArray = array('select', 'update', 'delete', 'insert');
str_ireplace($dmlArray,'-- replaced DML -- ',$clean['comment'],$Incount);
$ clean ['comment']将是$ _POST数组。
例如,$clean['comment'] = "SELECT, insert, UPDATE, DEleTe";
最后的字符串应为“ - 替换DML - , - 替换DML - , - 替换DML - , - 替换DML - ”;
但事实并非如此。
答案 0 :(得分:3)
函数str_ireplace
不会更改其参数。它返回结果。以下是您的代码修复:
$clean['comment'] = str_ireplace($dmlArray, '-- replaced -- ', $clean['comment'], $Incount);
答案 1 :(得分:1)
我运行了你的代码,它按预期工作。
echo str_ireplace(
array('select', 'update', 'delete', 'insert'),
'-- replaced DML -- ',
'SELECT, insert, UPDATE, DEleTe',
$Incount);
以上将输出
-- replaced DML -- , -- replaced DML -- , -- replaced DML -- , -- replaced DML --
请记住,输入字符串不是通过引用传入的,因此您必须使用返回值来获取替换值的字符串。