mercredi 7 septembre 2016

How to traverse a transition matrix

I have a transition matrix that is 5X5. Basically old state going to new state. I've set up the following if statement block but was wondering if there is a more elegant solution:

 if( ($oldStatus[$i] == "OUT" || $oldStatus[$i]=="OPEN") && $newStatus[$i] == "OUT"){
                 $email[$i] = false;
                 $crw  [$i] = 'OUT';
                 $sort [$i] = 9;
            }else if ( ($oldStatus[$i]=="OUT" || $oldStatus[$i]=="OPEN") && $newStatus[$i]=="CONFIRMED"){


            }else if ( ($oldStatus[$i]=="OUT" || $oldStatus[$i]=="OPEN") && $newStatus[$i]=="WAITLIST"){


            }else if ( ($oldStatus[$i]=="OUT" || $oldStatus[$i]=="OPEN") && $newStatus[$i]=="FLEXOPEN"){


            }else if ( ($oldStatus[$i]=="OUT" || $oldStatus[$i]=="OPEN") && $newStatus[$i]=="FLEXCLOSE"){


            }else if ($oldStatus[$i]=="CONFIRMED"  && $newStatus[$i]=="OUT"){


            }else if ($oldStatus[$i]=="CONFIRMED"  && $newStatus[$i]=="CONFIRMED"){


            }else if ($oldStatus[$i]=="CONFIRMED"  && $newStatus[$i]=="WAITLIST"){


            }else if ($oldStatus[$i]=="CONFIRMED"  && $newStatus[$i]=="FLEXOPEN"){


            }else if ($oldStatus[$i]=="CONFIRMED"  && $newStatus[$i]=="FLEXCLOSE"){


            }else if ($oldStatus[$i]=="WAITLIST"   && $newStatus[$i]=="OUT"){


            }else if ($oldStatus[$i]=="WAITLIST"   && $newStatus[$i]=="CONFIRMED"){


            }else if ($oldStatus[$i]=="WAITLIST"   && $newStatus[$i]=="WAITLIST"){


            }else if ($oldStatus[$i]=="WAITLIST"   && $newStatus[$i]=="FLEXOPEN"){


            }else if ($oldStatus[$i]=="WAITLIST"   && $newStatus[$i]=="FLEXCLOSE"){


            }else if ($oldStatus[$i]=="FLEXOPEN"   && $newStatus[$i]=="OUT"){


            }else if ($oldStatus[$i]=="FLEXOPEN"   && $newStatus[$i]=="CONFIRMED"){


            }else if ($oldStatus[$i]=="FLEXOPEN"   && $newStatus[$i]=="WAITLIST"){


            }else if ($oldStatus[$i]=="FLEXOPEN"   && $newStatus[$i]=="FLEXOPEN"){


            }else if ($oldStatus[$i]=="FLEXOPEN"   && $newStatus[$i]=="FLEXCLOSE"){


            }else if ($oldStatus[$i]=="FLEXCLOSE"  && $newStatus[$i]=="OUT"){


            }else if ($oldStatus[$i]=="FLEXCLOSE"  && $newStatus[$i]=="CONFIRMED"){


            }else if ($oldStatus[$i]=="FLEXCLOSE"  && $newStatus[$i]=="WAITLIST"){


            }else if ($oldStatus[$i]=="FLEXCLOSE"  && $newStatus[$i]=="FLEXOPEN"){


            }else if ($oldStatus[$i]=="FLEXCLOSE"  && $newStatus[$i]=="FLEXCLOSE"){


            }

Aucun commentaire:

Enregistrer un commentaire