Задать вопрос
New_Horizons
@New_Horizons
Бред:

Конструкция if или switch?

Вопрос простой и тупой. Два варианта одного и того же кода. Как бы вы написали и почему? Названия методов и переменных значения не имеют.

if (
	$this->inComplete($oldStatus, $newStatus) ||
	$this->outComplete($oldStatus, $newStatus)
) {
	$this->action();
	$this->save();
}


switch (true) {
	case ($this->inComplete($oldStatus, $newStatus)):
	case ($this->outComplete($oldStatus, $newStatus)):
		$this->action();
		$this->save();
}
  • Вопрос задан
  • 1154 просмотра
Подписаться 2 Простой 1 комментарий
Ответ пользователя FanatPHP К ответам на вопрос (3)
FanatPHP
@FanatPHP
Чебуратор тега РНР
Второй вариант это хорошая попытка, но недостаточно полно реализованная. Писать надо хотя бы так

(function() { 
    foreach([true] as $condition) {
        $condition = ($condition) ? true : false; 
        while ($condition) {
            switch (true) {
                case ($this->inComplete(($oldStatus), ($newStatus))):
                case ($this->outComplete(($oldStatus), ($newStatus))):
                    ($this->action());
                    ($this->save());
            }
            break;
        }
    }
})();

В общем, перед тем как задавать вопрос на тостере, надо сесть и хорошенько сначала самому подумать, каких бессмысленных операторов можно добавить в код, кроме switch.
Ответ написан