case 0 :
if($type == $condition['value']);
else $failed = '1';
break;
Хотя с точки зрения эффективности выполнения это не будет иметь значения, вы можете попытаться изменить свою логику, чтобы сделать намерения более читабельными.
case 0 :
$success = ($type == $condition['value']);
break;
и, конечно, обновите свое управляющее условие:
$success = true; // you probably want to start off optimistic ($success is bool)
...
if($previous['route_id'] == $condition['route_id'] && $success)
...