An Interest In:
Web News this Week
- April 18, 2024
- April 17, 2024
- April 16, 2024
- April 15, 2024
- April 14, 2024
- April 13, 2024
- April 12, 2024
July 12, 2022 10:09 pm GMT
Original Link: https://dev.to/timoye/replace-nested-if-else-statement-with-array-146f
Replace Nested If Else Statement with Array
Replace Nested If Else Statement with Array
The use of Early return and Array Approach will be considered
Nested if else
I am very sure we have either written or seen such nested code.
It isn't pleasant to look at.
public function checkData($var){ if (isset($var)){ if ($var==1){ return 'one'; } elseif($var==2){ return 'two'; } elseif($var==3){ return 'three'; } elseif($var==4){ return 'four'; } } else{ return 'null'; }}
We can make it better
Early Return
public function checkData($var){ if (!isset($var)){ return 'null'; } if ($var==1){ return 'one'; } if($var==2){ return 'two'; } if($var==3){ return 'three'; } if($var==4){ return 'four'; }}
Array Approach
public function checkData($var){ $array = [ '1'=>'one', '2'=>'two', '3'=>'three', '4'=>'four', ]; return $array[$var] ?? 'null'; }
The array approach is easy to update and easier to understand as compared to the nested If Else.
The early return also works very fine!
The Array approach can also be used for methods.
Early return Method calling
public function checkData($var){ if (!isset($var)){ return $this->nullMethod($var); } if ($var==1){ return $this->oneMethod($var); } if($var==2){ return $this->twoMethod($var); } if($var==3){ return $this->threeMethod($var); } if($var==4){ return $this->fourMethod($var); }}
Array Approach Method calling
public function checkData($var){ $array_methods = [ '1'=>'oneMethod', '2'=>'twoMethod', '3'=>'threeMethod', '4'=>'fourMethod', ]; return $this->{$array_methods[$var]($var)}; //to simplify, break it down $method=$array_methods[$var]; return $this->{$method}($var);}
Original Link: https://dev.to/timoye/replace-nested-if-else-statement-with-array-146f
Share this article:
Tweet
View Full Article
Dev To
An online community for sharing and discovering great ideas, having debates, and making friendsMore About this Source Visit Dev To