Использование возврата в тройном операторе php

Я пытаюсь использовать return в тройном операторе, но получаю сообщение об ошибке:

Parse error: syntax error, unexpected T_RETURN 

Вот код:

 $e = $this->return_errors(); (!$e) ? '' : return array('false', $e); 

Это возможно?

Благодаря!

Solutions Collecting From Web of "Использование возврата в тройном операторе php"

Это правильный синтаксис:

 return !$e ? '' : array('false', $e); 

Закрыть. Вам нужно return condition?a:b

Он не работает на большинстве языков, потому что return – это оператор (например, if , while и т. Д.), А не оператор, который может быть вложен в выражение. Следуя той же логике, вы не пытались бы вложить выражение if в выражение:

 // invalid because 'if' is a statement, cannot be nested, and yields no result func(if ($a) $b; else $c;); // valid because ?: is an operator that yields a result func($a ? $b : $c); 

Это не сработает для break и continue .

Нет, это невозможно, и это также довольно запутанно по сравнению с:

 if($e) { return array('false', $e); } 

Нет, это невозможно. Однако возможно следующее:

 $e = $this->return_errors(); return ( !$e ) ? '' : array( false, $e ); 

Надеюсь, это поможет.

Нет. Но вы можете иметь тройное выражение для заявления о return .

 return (!$e) ? '' : array('false', $e); 

Примечание. Это может быть не нужная логика. Я предоставляю его в качестве примера.