Heim > Backend-Entwicklung > PHP-Tutorial > 字符串处理 - PHP字符替换问题

字符串处理 - PHP字符替换问题

WBOY
Freigeben: 2016-06-06 20:21:33
Original
1169 Leute haben es durchsucht

直接上代码吧

<code>$str = '\Handler\TestHandler.php';
$need = ['\\', '\\'];
$new_need = [0,1];
$result = str_replace($need, $new_need, $str);
//$result=>0Handler0TestHandler.php</code>
Nach dem Login kopieren
Nach dem Login kopieren

结果不应该是0Handler1TestHandler.php吗?

是哪里出问题了吗?

回复内容:

直接上代码吧

<code>$str = '\Handler\TestHandler.php';
$need = ['\\', '\\'];
$new_need = [0,1];
$result = str_replace($need, $new_need, $str);
//$result=>0Handler0TestHandler.php</code>
Nach dem Login kopieren
Nach dem Login kopieren

结果不应该是0Handler1TestHandler.php吗?

是哪里出问题了吗?

你的两个\全都被0给替换了,语法详情

php应没有内置的这种方法,需要自己写一个函数,下面这个应该可以实现你的功能

<code>
function replace ($str) {
    $i = 0;
    $result = '';
    $arr = explode("\\", $str);
    foreach ($arr as $val) {
        if ($val === '') continue;
        $result .= ($i++).$val;
    }
    return $result;
}
</code>
Nach dem Login kopieren

因为是数组替换是先后替换啊,第一个替换已经把两个 \ 替换成了 0,后面那个替换就匹配不到 \ 了,自然没有 1 了。

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage