以下是一个字符串
100:200:900:1000:7800:6500:48711:565978:84812:45687
以及一个变量:7878
先用split把这个字符串分解为一个数组,再查找中当中的最小值应该为100,然后用那个一个变量替换掉数组里的最小值100可是我用str_replace的时候却得到这样的结果:7878:200:900:78780:7800:6500:48711:565978:84812:45687
我不想把数组里的第三个数字(1000)也替换,要如何处理最好?

解决方案 »

  1.   

    替换数组位置,比如第一个是100,就将数组元素1替换成你要的数字,然后implode组合成字符串
      

  2.   

    分解以后,算出最小值的Key,然后把这个key下面的设置成7878,最后合并,OK
      

  3.   

    $minnum=0;function cube($n)
    {
      $GLOBALS[minnum]=min($GLOBALS[minnum],$n); 
    }$a = explode(":",$str);
    array_walk( $a,"cube");
    $str=str_replace($minnum.":","7878:",$str);queryphp 简单 MVC ORM框架
    ---------------------------------------------
    http://topic.csdn.net/u/20100310/11/62a60067-b3da-4dee-9d6a-f1baeb2f3f33.html
      

  4.   

    str_replace("100:", "7878:", $str);
      

  5.   


    <?php
    $str="100:200:900:1000:7800:6500:48711:565978:84812:45687 ";
    $re=7878; 
    $arr=split(":",$str);
    $n=array_shift(array_keys($arr,min($arr)));
    $arr[$n]=$re;
    print_r($arr);
    ?>