$theStr = "5,10,20,30,-49,55";
$temp = explode(",", $theStr);
reset($temp);
$i = 0;
while(list($v,$k)=each($temp))
{ $iTemp = intval($k);
if($iTemp > 0)$myarray[$i] = $iTemp;
$i++;
}
echo $myarray;
reset($myarray);
while(list($v,$k)=each($myarray))
{
echo $k."<br>";
}

解决方案 »

  1.   

    错了,应该是:
    $theStr = "5,10,20,30,-49,55";
    $temp = explode(",", $theStr);
    reset($temp);
    $i = 0;
    while(list($v,$k)=each($temp))
    { $iTemp = intval($k);
    if($iTemp > 0)
    {
    $myarray[$i] = $iTemp;
    $i++;
    }
    }
    //显示出myarray:
    reset($myarray);
    while(list($v,$k)=each($myarray))
    {
    echo $v." -> ".$k."<br>";
    }
      

  2.   

    这是我的$Str = "5,10,20,30,-49,55";
    $temp = explode(",", $Str);
    $i=0;
     foreach($temp as $temp2){
      if($temp2>0){
        $array[$i]=$temp2;
    $i++;
      }}
    检验:
    foreach ($array as $key=>$test){
    echo $key." ".$test."<br>";
    }
      

  3.   

    好久没来了,呵……
    我也来贴段更简单的。
    $str = '5,10,20,30,-49,55';
    $myarray = explode(',', $str);
    function check($num) {
        return ($num >= 0);
    }
    print_r(array_filter($myarray, "check"));