Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

halfar

if inline - mais de uma condição

Recommended Posts

considerando o seguinte if inline abaixo:

 

Citar

$c = ($a > $b) ? $b - $a : 0; 

 

neste exemplo, se $a for maior que $b,  a variável $c conterá $b-$a, caso contrário conterá 0.

 

tem como colocar mais uma condição caso seja verdadeiro? Assim:

Citar

$c = ($a > $b) ? $b - $a; $c=1 : 0; 

note na parte em negrito, que além de $b-$a, também $c=1.  

 

É como se dentro de uma instrução if existissem várias condições verdadeiras a serem executadas.

 

Todavia, da maneira como fiz no exemplo acima isto não funciona...dá erro no script.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 03/09/2017 at 11:50, halfar disse:

considerando o seguinte if inline ..:

 

O termo correto é Operador Ternário ou Condição Ternária  

 

Em 03/09/2017 at 11:50, halfar disse:

tem como colocar mais uma condição caso seja verdadeiro?

 

Sim. 

$c = ($a > $b) ? (($a == 5) ? 3 : 0) : 2; 

Desde o PHP 5.3 é possível suprimir a expressão do meio.

$a = 0;
$c = $a ?: 1; // 1

$a = null;
$c = $a ?: 1; // 1

$a = 2;
$c = $a ?: 1; // 2

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por bradry
      Olá galera !
       
      Tenho uma dúvida referente aos operadores de pesquisa. Tenho uma  tabela com a seguinte estrutura
       
      id integer, CPF varchar ( 20 ), SCORE_CUSTOM varchar ( 20 ),  SCORE varchar ( 20 ), SCORE_CCOG varchar ( 20 ), RESTRITIVO varchar ( 20 ) );
       
      Quando faço uma pesquisa da maneira a baixo colocando aspas simples no ZERO retorna erro, agora quando faço a mesma pesquisa sem aspas me retorna o resultado esperado.
       
      select * from score
      where RESTRITIVO ='0' 
      and SCORE_CUSTOM >=100
      and SCORE_CUSTOM <=200;
       
      Só queria entender se esse funcionamento de aspas vale para tudo que vou pesquisa ou se tem que ser usado em casos específicos. Não consegui encontrar nada sobre na web.
    • Por Yuri Fernandes da Silva
      Olá, sou um membro novo do fórum e estou estudando por conta a linguagem c++ pela internet..
       
      Durante meus estudos, me surgiu uma dúvida em relação ao conteúdo descrito no título desse fórum, mais especificamente com um compilador online (estudo no meu serviço, nos horários vagos)
       
      Essa foi a mensagem de erro que apareceu no compilador Online "C++ Shell":   In function 'int main()': 10:66: error: expected primary-expression before '<' token
       
      Esse foi o código que criei:
       
       
      //Exercício 
      #include <iostream>
      using namespace std;
      int main ()
      {
          int num;
          
          num=12;
          if ((num >=3 && num <=6) || (num > 9 && num < 15) || (num>15 && <20)) {
              cout <<"\n\nValor aceito\n";
          }else{
              cout <<"\n\nnao aceito\n";
          }
          return 0;
      }
       
       
      Agradeço desde já a atenção.
    • Por bertelliedgard
      Estou estudando Python há algum tempo através de um livro que propõe o seguinte exercício:
       
      Alguém pode me ajudar com este exercício?
    • Por Gurandao
      Olá galera, preciso criar um cálculo de correção monetária, já criei a tabela com todos os índices e fatores baseados no site https://api.tjsp.jus.br (Abril/2017).
      Vamos ao que interessa:
      Puxei os valores da tabela, a fórmula do cálculo é: Valor  (dividido) pelo fator do mes que venceu (multiplicado) pelo ultimo indice cadastrado (mes anterior).
      Então temos os valores: Valor (270.72), fator do mês que venceu (48.485963) e fator do mês anterior atual (66.839575).
      Eu criei o seguinte cálculo:
      $correcao =$valor / $fator_vcto * $fator_atual;
      ou seja:
      $correcao = 270.72 / 48.485963 * 66.839575;
      O resultado que ele me apresenta é 276.699454107990 sendo que na calculadora e no excel o valor correto calculado é 373.1968723
       
      Desde já agradeço à todos que puderem me ajudar!
       
    • Por Gabriel Arruda
      Eu to fazendo um curso de algoritmos cursoemvideo.com e o professor usou e não explicou o operador := e eu não entendo.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.