代码在下面。我有一个字符串。我想用固定位置替换特定字符。
$string = 'syeds nomasn shibsly';
$char = 't';
$position = [0,4,10];
foreach($position as $pos) {
$str = substr_replace($string, $char, $pos);
}
echo $str;
输出为tyedt nomatn shibsly
希望你有我的问题。请帮帮我。
答案 0 :(得分:2)
您可以像数组一样访问字符串的各个字符:
foreach ($position as $pos) {
$string[$pos] = $char;
}
答案 1 :(得分:0)
您的原始代码可以正常工作,只需进行一些修改。
您未在循环内更新$string
,因此您的$str
变量最终只会更改最终位置,因为每次迭代都会查看原始字符串。您还需要将length参数传递给substr_replace
,以便替换字符串的正确部分。
尝试将代码更改为:
foreach ($position as $pos) {
$string = substr_replace($string, $char, $pos, 1);
}
echo $string;
tyedt nomatn shibsly
(您还需要修改数组语法以使用方括号)