while {($left <= $right) && ($a[num][$mid] != $nums)}
===>
while (($left <= $right) && ($a[num][$mid] != $nums))出错了,由于你的错误显示被关闭了,所以得不到错误信息

解决方案 »

  1.   

    我没有弄懂你是什么意思啊 ?
    while {($left <= $right) && ($a[num][$mid] != $nums)}
    ===>
    while (($left <= $right) && ($a[num][$mid] != $nums))中===> 是什么意思啊 ?
    我是改成了 while (($left <= $right) && ($a[num][$mid] != $nums))可还是没有任何输出啊 能再帮忙一下吗 ?谢谢!!
      

  2.   

    错误显示没有被关闭  
    其他的错误都能显示的 你看看我的源代码吧!
    <?php$b=array("num"=>array(1=>1134,2323,4557,5645,3274,1238,1359,1243,2343,1245,1990,5532,4667,8209,3721,7593,6934,9267,7328,2112),"oder"=>array(1=>1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20));
    $a=$b;
    for($i=1;$i<=19;$i++)
      {for($j=$i+1;$j<=20;$j++)
         {if ($a[num][$i]>$a[num][$j])
           { $k[num]=$a[num][$i]; $k[oder]=$a[oder][$i];
         $a[num][$i]=$a[num][$j]; $a[oder][$i]=$a[oder][$j]; 
             $a[num][$j]=$k[num]; $a[oder][$j]=$k[oder]; 
            };
     };
      };
     echo "排序后的顺序和他们原来的顺序分别为:<br>";
    for($i=1;$i<=20;$i++)
    { echo $i."\t";
      echo $a["num"][$i]."\t";
      echo $a["oder"][$i]."<br>";
    };echo  "<br>";
    echo  "<br>";
    echo  "<br>";
    echo  "<br>";
    $left = 1;
    $mid = 11;
    $left =20;
    while (($left<$left)&&($a["num"][$mid]!=$nums))
    {if ($a["num"][$mid] < $nums)
    {$left = $mid + 1;}
      else 
    { $right = $mid - 1;};
      $mid =ceil(($left + $right) /2); 
     }; if $a["num"][$mid]!=$nums 
      echo "你要查找的车的位置是:$a["oder"][$mid]"
       else echo "没有找到您要查找的车辆";
    ?>