Recentemente um estagiário meu estava sofrendo com o alinhamento de várias condições em um IF. Este caso me lembrou que eu já passei por isso e portanto decidi colocar aqui para vocês para que não "sofram" como nós.
O seguinte bloco de código não funciona:
if {{$number == 1 && $name == "hello"} || {$number == 0&&$name == "yes"}} {
#faça algo
}
O interpretador envia mensagem de erro: IS EXPECTED TO BE A BOOLEAN.
O motivo é que os { } e os ( ) não podem ser colocados em paralelo. Mas no caso dos ( ) eles são reconhecidos como array (ex. $ar(2) ), por tanto, interpretado como array de booleanos.
Utilizem o seguinte bloco de código:
if {(($number == 1)&&($name == "hello")) || (($number == 0)&&($name == "yes"))} {
#faça algo
}
Até a próxima, Emanuel