$array = explode(',', $str);foreach($array as $key=>$item)
    if (intval($item) <= 0) unset($array[$key]);

解决方案 »

  1.   

    $str = '22, ,23,13,a,34';$str_array=explode(',',$str);
    $str_num=count($str_array);
    for($i=0; $i<$str_num; $i++){
    if(!is_numeric($str_array[$i]) && $str_array[$i] <= 0) unset($str_array[$i]);
    }
    $str = implode(',',$str_array);
      

  2.   

    纠正下
    $str = '22, ,23,13,a,34,22,0'; 
    根据逗号分割后,如果不是整数(小于0)的销毁或相同的销毁其中一个
      

  3.   


    $str = '22, ,23,13,a,34,22,0'; $str_array=explode(',',$str); $str_array=array_unique($str_array); $str_num=count($str_array); 
    for($i=0; $i <$str_num; $i++){ 
    if(!is_numeric($str_array[$i]) && $str_array[$i] <= 0) unset($str_array[$i]); 

    $str = implode(',',$str_array);
      

  4.   

    $str = '22, ,23,13,a,34,22,0'; 
    如果传来的值是这样
    得到的结果应该是$str = '22,23,13,34,22,0'; $str = '22, ,23,13,a,34,22'; 
    则$str = '22,23,13,34,22';
    这是我想要的结果
    zhangli 验证就不对了
      

  5.   

    纠正下,zhangli 是对的结帖
      

  6.   

    $str = '22, ,23,13,a,34,22,0'; 
    preg_match_all("/(\d+),/", $str.',', $r);
    print_r(array_unique($r[1]));
      

  7.   

    改下唠叨的
    $str = '22, ,23,13,a,34,22,0'; 
    preg_match_all("/([1-9]\d+),/", $str.',', $r);echo "<pre>";
    print_r(array_unique($r[1])); 
    echo "</pre>";