As duas formas que você apresenta não são exatamente iguais.
No formulário: A && B || C
, C
será executado se A
ou B
avaliar como falso.
Por exemplo:
$ true && true || echo C
$ true && false || echo C
C
$
Isso oferece uma vantagem real do formulário if-then-else
sobre a forma A && B || C
e isso é clareza. É mais claro o que a forma if-then-else
está fazendo, mas você precisa entender as regras de avaliação para entender o que a forma A && B || C
está fazendo.
No entanto, pode ser útil usar A && B
ou A || B
. Isso é mais claro e pode ser útil quando comandos simples estão sendo executados. Às vezes, uma linha em vez de três é mais clara, especialmente quando você está tentando obter uma grande quantidade de código.