operador ternário [RESOLVIDO]

1. operador ternário [RESOLVIDO]

Gustavo Henrique Nascimento de Chiato
nixtavo

(usa Ubuntu)

Enviado em 20/06/2022 - 21:14h


Olá gente, serei breve.
Atualmente estava estudando o operador ternário ? que tem a seguinte sintaxe para atribuição de variável:
var = condicao ? expressao1 : expressao2;
(se condicao verdadeira var = expressao1)
(se condicao falsa var = expressao2)
no código que estou fazendo eu gostaria de saber se ter como ele não atribuir nada caso a condicao for falsa, ou nem verificar.
Já tentei fazer sem o ":"
var = condicao ? expressao1;
Mas deu erro
Ja tentei fazer com que na expressao2 tenha um return mas tmb n funfa.
Alguém com mais experiência poderia me dar uma ajudinha? Valeu!


  


2. .

Gustavo Henrique Nascimento de Chiato
nixtavo

(usa Ubuntu)

Enviado em 20/06/2022 - 21:25h


Eu vi uma questão parecida em PHP mas a solução deles não é compatível:

https://pt.stackoverflow.com/questions/139973/%C3%89-poss%C3%ADvel-ter-um-tern%C3%A1rio-sem-o-bloco-...


3. Re: operador ternário [RESOLVIDO]

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 20/06/2022 - 22:50h


Inverte a condição lógica var = !condicao ? :expressao1 - assim o bloco do meio fica vazio. O último bloco é obrigatório mas o do meio não.


4. Re: operador ternário [RESOLVIDO]

Cézar Augusto
cizordj

(usa Debian)

Enviado em 21/06/2022 - 13:18h

Fica meio estranho se você não atribuir nada, porque mais tarde quando alguém for utilizar a sua variável o PHP vai dizer que a variável não existe, mas aqui vai a minha sugestão.


<?php
$condicao = true;
$condicao && $foo = 'Eu sou uma string';

var_dump($foo); // 'Eu sou uma string'



É aqui onde as coisas podem ficar feias.

$condicao = false;
$condicao && $foo = 'Eu sou uma string';
var_dump($foo); // Emite um aviso
// PHP Warning: Undefined variable $foo in php shell code on line 1
// NULL



5. Re: operador ternário [RESOLVIDO]

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 21/06/2022 - 16:39h


cizordj escreveu:

Fica meio estranho se você não atribuir nada, porque mais tarde quando alguém for utilizar a sua variável o PHP vai dizer que a variável não existe, mas aqui vai a minha sugestão.


<?php
$condicao = true;
$condicao && $foo = 'Eu sou uma string';

var_dump($foo); // 'Eu sou uma string'



É aqui onde as coisas podem ficar feias.

$condicao = false;
$condicao && $foo = 'Eu sou uma string';
var_dump($foo); // Emite um aviso
// PHP Warning: Undefined variable $foo in php shell code on line 1
// NULL

Só como comentário para enriquecer o debate, se não houver atribuição o valor retornado será o da própria expressão, no caso 1(verdadeiro).



6. .

Gustavo Henrique Nascimento de Chiato
nixtavo

(usa Ubuntu)

Enviado em 21/06/2022 - 21:22h


No caso a linguagem é C.
Inverter a condição é uma boa sacada, vou usar isso obrigado a todos.






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts