例 :string str='1,2,44,5';如何查找到2 并且去掉,截取后成为 str=‘1,44,5’;

解决方案 »

  1.   

    $str = str_replace(",2,", ",", $str);
      

  2.   

    例 :string str='2,1,44,5'; 如果字符串2 在开始或者结尾呢 ????。如何 查找到2 并且去掉,截取后成为 str=‘1,44,5’;
      

  3.   

    string str='1,2,44,5'; 
    建议存储这样的形式
    string str='|1|2|44|5|'; 
      

  4.   


    好吧。
    $strArr = explode(',', $str);
    $strArr = array_diff($strArr, array("2"));$str = implode(',', $strArr);
      

  5.   

    上面这种如果2不在初始$str中会有问题
    或者可以
    $strArr = explode(',', $str); 
    foreach ($strArr as $key => $str) {
        if ($str == 2) {
            unset($strArr[$key]);
        }
    }
    $str = implode(",", $strArr);
      

  6.   

    $str = '1,2,44,5';
    $del = 2;
    $arr = explode(',',$str);
    if (in_array($del,$arr)) unset($arr[array_search($del,$arr)]);
    $str = implode(',',$arr);
    echo $str;
      

  7.   

    如果有多个2要过滤
    $str = '1,2,44,2,5';
    $del = 2;
    $arr = explode(',',$str);
    while (in_array($del,$arr)) {
    unset($arr[array_search($del,$arr)]);
    }
    $str = implode(',',$arr);
    echo $str;
      

  8.   

    又或者:
    function del($v){
    return $v!=2;
    }
    $str = '1,2,44,2,5';
    echo  implode(',',array_filter(explode(',',$str),'del'));