while {($left <= $right) && ($a[num][$mid] != $nums)}
===>
while (($left <= $right) && ($a[num][$mid] != $nums))出错了,由于你的错误显示被关闭了,所以得不到错误信息
===>
while (($left <= $right) && ($a[num][$mid] != $nums))出错了,由于你的错误显示被关闭了,所以得不到错误信息
while {($left <= $right) && ($a[num][$mid] != $nums)}
===>
while (($left <= $right) && ($a[num][$mid] != $nums))中===> 是什么意思啊 ?
我是改成了 while (($left <= $right) && ($a[num][$mid] != $nums))可还是没有任何输出啊 能再帮忙一下吗 ?谢谢!!
其他的错误都能显示的 你看看我的源代码吧!
<?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 "没有找到您要查找的车辆";
?>