我想把一个字符串中的多个字符给替换了,比如字符串"11,22,33,44",我想替换成"一,二,三,四",字符串的长度不固定, 内容也不固定,请问我该怎么写,谢谢大家

解决方案 »

  1.   

    $find = array('11', '22', '33', '44');
    $replace = array('一', '二', '三', '四');$str = '44,33,22,11';echo str_replace($find, $replace, $str);
      

  2.   

    $s = '比如字符串"11,22,33,44",我想替换成"一,二,三,四"';$ar = array(
      ',' => ',',
      '11' => '一',
      '22' => '二',
      '33' => '三',
      '44' => '四',
    );echo strtr($s, $ar);
      

  3.   

    $str='11,22,33,44';
    $str=str_replace(array('11','22','33','44'),array('一','二','三','四'),$str);
    echo $str;
      

  4.   

    $zhishi ='33,22';$ceshi=array(array('22','er'),array('33','san'),array('44','si'));我想把$zhishi替换成'san,er' ,即只要$zhishi中有每个数组的第一个元素,就替换成第二个元素,该怎么做呢
      

  5.   

    $zhishi ='33,22';$ceshi=array(array('22','er'),array('33','san'),array('44','si'));
    foreach($ceshi as $v)
           $ar[$v[0]]=$v[1];
    echo strtr($zhishi,$ar);
      

  6.   

    <?php
    $zhishi ='33,22';$ceshi=array(array('22','er'),array('33','san'),array('44','si'));
    foreach($ceshi as $v){
    $a[]=current($v);
    $b[]=next($v);
    }
    echo str_replace($a,$b,$zhishi);
      

  7.   

    $zhishi ='33,22';$ceshi=array(array('22','er'),array('33','san'),array('44','si'));我想把$zhishi替换成'san,er' ,即只要$zhishi中有每个数组的第一个元素,就替换成第二个元素,该怎么做呢我是这样做的
    for ($i=0;$i<count($ceshi);$i++)

        $strzhi=str_replace($ceshi[$i][0],$ceshi[$i][1],$zhishi);
    }
    但是echo 结果是san22。 
    请问我该怎么改。谢谢
      

  8.   

    谢谢,我试出来,是我想要的结果,但是要按我的那个for循环该怎么改呢,谢谢
      

  9.   

    for ($i=0;$i<count($ceshi);$i++)
    {  
      $zhishi=str_replace($ceshi[$i][0],$ceshi[$i][1],$zhishi);
    }
    echo $zhishi;
      

  10.   

    优化一下foreach ($ceshi as $v){
    $zhishi=str_replace($v[0],$v[1],$zhishi);
    }
    echo $zhishi;
      

  11.   


    刚蛋痛的测试了一下
    这个代码看起来比较难看,但是效率还比你这个还高.$zhishi = '33,22';
    $ceshi = array(array('22', 'er'), array('33', 'san'), array('44', 'si'));
    $arr = explode(',', $zhishi);
    $re = '';
    foreach ($arr as $value) {
        foreach ($ceshi as $ceshiValue) {
            if (in_array($value, $ceshiValue)) {
                $re .= $ceshiValue[1].',';
                continue 2;
            }
        }
    }
    echo trim($re,',');
      

  12.   

    php怎么判断某字符串是否存在于某个数组中,存在则改变其值,比如
    $array=array('1','2','3','4','5','60','0','023');
    先判断是否有0存在于该数组,有则改为中文 ‘零’。
    结果应该是$array=array('1','2','3','4','5','60','零','023');
      

  13.   


    $array = array('1', '2', '3', '4', '5', '60', '0', '023');
    $int = array_search(0, $array);
    if ($int !== FALSE) {
        $array[$int] = '零';
    }
    var_dump($array);
      

  14.   

    如果把$ceshi重组成$ceshiFrom=array('22','33','44') 和 $ceshiTo=array('er','san','si');
    然后用一句str_replace($ceshiFrom,$ceshiTo,$zhishi)呢?