一段演算法的實現,嵌套判斷

來源:互聯網
上載者:User
請教各位一段演算法的實現,嵌套判斷
假設有兩個數組$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;
}
?>

不過這個要走完全部單元,可以說不符合你的題意
但你可以留著參考,在其他必須全部判斷的時候還是有用的
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.