代码之家  ›  专栏  ›  技术社区  ›  Yehonatan

字符串中最快的字符替换

  •  0
  • Yehonatan  · 技术社区  · 14 年前

    我需要替换字符串中的一个字符。

    $s1='123456789';
    $s2='abcdefghi';
    
    $p=4; // position of char in $s1 to use for replacing (0 is first char)
    
    $s2 = ???? ; // code
    

    最后$s2必须是'abcd5fghi'

    最快的方法是什么?

    2 回复  |  直到 11 年前
        1
  •  6
  •   Gumbo    14 年前

    如果只有单字节字符:

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

    否则,如果是多字节字符,您可能需要使用 mb_substr :

    $s2 = mb_substr($s2, 0, $p).mb_substr($s1, $p, 1).mb_substr($s2, $p+1);
    
        2
  •  3
  •   Lekensteyn    14 年前