如何用星号替换字符串的第一个和最后3个字符而不使用任何函数?

时间:2017-08-23 20:42:28

标签: php arrays string replace

我想用*符号替换前3个字符和最后3个字符,而不使用任何内置函数。

$string = array("johndoee","shawnmarsh","peterparker","johndoee","shawnmarsh","peterparker");
你可以指导我吗?有没有办法做到这一点?

1 个答案:

答案 0 :(得分:6)

这似乎毫无意义,但可以使用string access and modification by character

foreach ($strings as &$string) {
    for ($i=0; $i < 3; $i++) {
        $string[$i] = '*';
        $string[-($i+1)] = '*';
    }
}

请注意,如果字符串包含多字节字符,则此不会正常工作,因为它将字符串作为字节数组访问。

另请注意,这需要PHP 7.1才能使用负索引。如果您没有PHP 7.1,我不知道如何在不使用任何功能的情况下替换最后三个字符。