当前位置:Gxlcms > PHP教程 > 用str_replace轮换数组时有点怪

用str_replace轮换数组时有点怪

时间:2021-07-01 10:21:17 帮助过:25人阅读

用str_replace替换数组时有点怪
$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
$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
请问为什么会这样啊?
谢谢!

分享到:


------解决方案--------------------
'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

人气教程排行