给你个巧妙的吧:$str = "," . $str; // ",3.0,7.1,10.2,11.2,12.3,8.1,9.1"
$search = "," . $search;
$pos = strpos($str, $search);
if ( is_int($pos) )
{
if ( $pos == 0 ) $pos = 1;
$result = substr($str, $pos);
}
这个方法看起来麻烦,最简单的:$result = strstr($str, $search);似乎就可以。但我想你的字符串的内容可能不见得就是这个吧?
如果是:$str = "3.7,...,7.1";strstr($str, "7") 就得不到正确结果了。

解决方案 »

  1.   

    哈,太急了,有错误:$str = "," . $str; // ",3.0,7.1,10.2,11.2,12.3,8.1,9.1"
    $search = "," . $search;
    $pos = strpos($str, $search);
    if ( is_int($pos) )
    {
    $pos ++;
    $result = substr($str, $pos);
    }
    else
    {
    echo "not found";
    }
      

  2.   

    $nums = explode(",",$str);  //切割字符串到数组中
    foreach($num as $nums)//遍历数组
    {
        if((float)$num > (float)$search)//如果$num大于$search,则添加输出
            {
             $num .= ",";
             $result .= $num;
             }
    }
    $result = substr($result,0,strlen($result)-1); //去掉最后的一个","
    return $result;//返回
      

  3.   

    alexxing(赤铸) 不对,返回的结果你看了吗,
      

  4.   

    DFlyingchen(Aggie) 也不对,结果不是我想要的,
     <?
     $str="3.0,7.1,10.2,11.2,12.3,8.1,9.1";
    $search="7";$nums = explode(",",$str);  //切割字符串到数组中
     
    foreach($nums as $num) 
    {
        if((float)$num > (float)$search)//如果$num大于$search,则添加输出
            {
             $num .= ",";
             $result .= $num;
             }
    }
    $result = substr($result,0,strlen($result)-1); //去掉最后的一个","
    print $result;7.1,10.2,11.2,12.3,8.1,9.1
      

  5.   

    SORRY,没看清要求,说实话,你的要求有些古怪,没有一般规律不过你应该说清楚:只是处理这几个情况,不然很容易让人误认为是处理一般字符串的算法