Heim > Backend-Entwicklung > PHP-Tutorial > 用str_replace替换数组时有点怪

用str_replace替换数组时有点怪

WBOY
Freigeben: 2016-06-23 14:27:40
Original
944 Leute haben es durchsucht

$str = '2abc';$arr1 = array('0', '1', '2', '3', '4', '5', '6');$arr2 = array('9', '8', '7', '6', '5', '4', '3');$str = str_replace($arr1, $arr2, $str);echo $str;//输出结果正常:7abc
Nach dem Login kopieren

$str = '2abc';$arr1 = array('0', '1', '2', '3', '4', '5', '6', '7');$arr2 = array('9', '8', '7', '6', '5', '4', '3', 'W');$str = str_replace($arr1, $arr2, $str);echo $str;//输出结果有误:Wabc
Nach dem Login kopieren

请问为什么会这样啊?
谢谢!


回复讨论(解决方案)

'7'
'w'

后边不是有这个吗,第一次2->7,第二次 7->w 

'7'
'w'

后边不是有这个吗,第一次2->7,第二次 7->w 

是分开测试上面这两段代码的,它们并不在同一文件中。

我知道,我说的就是第二个。

$str = '2abc';
$arr1 = array('0', '1', '2', '3', '4', '5', '6', '7');
$arr2 = array('9', '8', '7', '6', '5', '4', '3', 'W');
$str = str_replace($arr1, $arr2, $str);
echo $str;
//输出结果有误:Wabc

他的意思第一次查找$arr1的时候把2替换成了7 所以$str=7abc 然后继续查找$arr1的时候又把7替换成了W 所以就成了Wabc

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