請教各位一段演算法的實現,嵌套判斷
假設有兩個數組$a[0],$a[1],$a[2]和$b[0],$b[1],$b[2]
//===========判斷塊開始
先是對$a[0]和$b[0]的大小判斷,如果為true,結束所有判斷,跳到another code brick;
如果為false
去判斷$a[1]和$b[1]的大小,如果為true,結束所有判斷,跳到another code brick;
如果為false,那麼
最後判斷$a[2]和$b[2]的大小,結束判斷
//===========判斷塊結束
another code brick;
請問難道這種應該用不斷的if嵌套嗎?
如果不是,那麼應該怎樣實現?
------解決方案--------------------
方法函數用數組管理, 迴圈判斷數組,根據下標選調用函數
function f1(){
echo 1;
}
function f2(){
echo 2;
}
$fns=Array(f1,f2);
$a= Array(3,2);
$b=Array(2,3);
foreach($a as $k => $v )
if( $v > $b[$k] ) $fns[$k]();
------解決方案--------------------
for($i=0; $i $k = 1;
if($a[$i] == $b[$i]) break;
$k = 0;
}
if($k) {
another code brick;
}
------解決方案--------------------
你這個感覺像不久前有人問對提交內容逐個判斷的文章,只不過那個是遇到false就結束判斷
另一種思路:
function comp($n, $m)
{
if ($n ==$m) return True;
else return False;
}
$c = array_map("comp", $a, $b);
if (count(array_intersect($c, array(True))) > 0){
another code brick;
}
?>
不過這個要走完全部單元,可以說不符合你的題意
但你可以留著參考,在其他必須全部判斷的時候還是有用的