一组数值是1-10
现数值有1,2,3,5,6,8,9,10这几个数字
找出第一个却的,如4.

解决方案 »

  1.   

    这个方法可以,也就是 for(1-10)对比一下。但效率相对低。可以用 半分法10/2=5
    看中间是否为 5,再分两边查找。简单的来说,是一个排序之类的吧
      

  2.   


    $str = '1,2,3,5,6,8,9,10';
    //
    $str = ',' . $str . ',';$cur = 0;
    for($i = 1; $i < 10; $i++)
    {
     if(strpos($str, ',' . $i . ',') === false)
     {
      $cur = $i;
      break;
     }
    }if($cur > 0)
    {
     echo $cur . ',找到了';
    }
      

  3.   

    其实可以用数组来解决
    定义一个数组array(1,2,3,4,5,6,7,8,9,10);
    将你的1,2,3,5,6,7,8,9,10也放入到数组中(可以对这个数组进行升序的方式排列)
    可以取两个数组的交集,这样就不用循环了