merge if - ادغام if های تو در تو

پوریا سبحانلو

پوریا سبحانلو

26 دی 1402
دقیقه 3

به عنوان اولین و ساده ترین قاعده از دوره باز نویسی کد ها میخوایم موردی رو با هم بررسی کنیم که چند بلاک  if تو در تو داریم.

این  if ها کلیت بدی ندارن اما ما میخوایم کد هامون رو مرتب کنیم و دندونه و تو رفتگی کد ها رو کم   Indent Code کنیم

به عنوان اولین قاعده و ساده ترین قاعده حالتی رو با هم بررسی کنیم که چند تا  if داخل هم هست و هیچ  else وجود نداره و در نهایت یه کدی قراره در اخرین  if اجرا بشه

if($a == 1){
   if($b == 2){
        if($c == 3){
            // condition
            // do some work
        }
   }
}

 

تو همچین حالتی میتونیم  if هارو با هم یکی کنیم و با  operator  && شرط هارو ادغام کنیم

بین یه  if میتونیم کد هامون رو ادغام کنیم.

if($a == 1 && $b == 2 && $c == 3 ){
    // condition
    // do some work
}

 

موضوعی که اینجا مهمه اینه اپراتور AND و OR به محض اینکه بفهمن تکلیفشون مشخص شده بقیه شرط ها رو چک نمیکنن.

نکته در صورت وجود یه  true داخل  شرط های OR بقیه شرط ها اجرا نمیشن.

$b[0] = 4 
if($a == 1 || $b == 2 || $b = 3){
    // condition
    // do some work
}
// output  - if is exeac

 

این قاعده روی AND هم برقراره

در صورت false شدن یک شرط  بقیه قسمت شرط اجرا نمیشه.

$age = 12;
if($age == 18 && $money >= 50000000 && $passport == true){
    // condition
    // do some work
}
// output  - if is not exeac

 

قسمت جالب این ماجرا اینه حتی اگه شرط دوم و سوم هم خطا داشته باشه اصلا چک  نمیشه. چون در مرحل اول شرط اول false شده و بقیه شرط ها دیده نمیشن.

$money = 10;
if( $age == 10 && $money['debit_card'] >= 50000000){
    // condition
    // do some work
}
// output  - if is not exeac

 

مسئله مهم اینه $money  از نوع Array نیست و کلید ['debit_card'] نداره در حالت کلی اینجا با خطا مواجه میشیم. اما چون شرط اول  false شد شرط های بقیه چون وابسته به شرط اول هستن اجرا نمیشن.



پوریا سبحانلو

پوریا سبحانلو

سلام من پوریام

یه php کاری که ریز نگاهی هم به فریم ورک های js داره


admoon من اینجام