php -str_replace无法遍历替换
见如下代码
$data = array('or','my','you','which','love');
$arr = array('l'=>'k','w'=>'q','e'=>'r','t'=>'y','m'=>5);
foreach ($data as $k => $v) {
foreach ($arr as $key => $value) {
$pattern = $key;
$replacment = $value;
$data[$k] = str_replace($pattern,$replacment,$v);//无法替换??
// $data[$k] = str_replace(array_keys($arr),$arr,$v);
// $data[$k] = str_replace('l','k',$v);
}
}
var_dump($data);
?>
------解决思路----------------------
不知道楼主说的替换指的是不是把data里面每个字符串中出现过的字符都去arr里面去匹配下,有的换就替换。如果是这样的话 直接这样写就可以了:
$data = array('or','my','you','which','love');
$pattern = array('l','w','e','t','m');
$arr = array('k','q','r','y',5);
$newdata = str_replace($pattern, $arr, $data);
var_dump($newdata);
?>
0 or
or
or
or
or
or
1 my
my
my
my
my
5y
2 you
you
you
you
you
you
3 which
which
qhich
which
which
which
4 love
kove
love
lovr
love
love
已抢141074个
抢已抢4646个
抢已抢7350个
抢已抢21596个
抢