@vladimir
Конструкция if-elseif
в PHP используется для выполнения различных блоков кода в зависимости от условий. Однако, когда число условий увеличивается, код может стать громоздким и трудночитаемым. Есть несколько способов заменить конструкцию if-elseif
:
1 2 3 4 5 6 7 8 9 10 11 |
switch($value) { case 'a': // code block break; case 'b': // code block break; default: // code block break; } |
1 2 3 4 5 6 7 8 9 10 |
$array = array( 'a' => 'code block for a', 'b' => 'code block for b', 'c' => 'code block for c', ); $value = 'b'; if(isset($array[$value])) { $codeBlock = $array[$value]; // execute code block } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
interface MyInterface { public function execute(); } class MyClassA implements MyInterface { public function execute() { // code block for MyClassA } } class MyClassB implements MyInterface { public function execute() { // code block for MyClassB } } $value = 'b'; if($value === 'a') { $object = new MyClassA(); } else { $object = new MyClassB(); } $object->execute(); |