2010-08-27 66 views
0

我需要替换字符串中的字符。字符串中最快的字符替换

$s1='123456789'; 
$s2='abcdefghi'; 

$p=4; // position of char in $s1 to use for replacing (0 is first char) 

$s2 = ???? ; // code 

最终$ S2必须是 'abcd5fghi'

什么是最快的方法是什么?

+0

你确定你需要最快的方法吗?只要速度够快就不适合你? – 2010-08-27 09:20:12

+0

寻找答案最快的方式有时是最好的方式。 – Yehonatan 2010-08-27 09:44:36

回答

6

如果只有单字节字符:

$s2[$p] = $s1[$p]; 

否则,在多字节字符的情况下,你可能会需要使用mb_substr

$s2 = mb_substr($s2, 0, $p).mb_substr($s1, $p, 1).mb_substr($s2, $p+1); 
+0

我学到了新东西。感谢您节省时间写下废话长版。 – Yehonatan 2010-08-27 09:45:35