Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Semplificare una dichiarazione IF

    Ciao a tutti,
    ho una situazione di questo tipo: all'interno di un ciclo devo mostrare del contenuto, a meno che non si verifichino due condizioni specifiche.
    Al momento sono riuscito a risolvere tramite l'uso di una variabile che funziona da trigger, ma non mi sembra una soluzione molto elegante.
    Esempi:

    Codice PHP:
    $trigger=1;

    if(
    $condizione1=='abc' && $condizione2==false){
        
    $trigger=0;
    }

    if(
    $trigger==1){
        echo 
    '...CONTENUTO...';


    Esiste un modo di semplificare questo codice senza ricorrere alla variabile $trigger?

    NB: le due dichiarazioni all'interno di if() devono essere vere entrambe, quindi non posso usare l'operatore ||
    «Prendo rifugio nel grande BOH»

  2. #2
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    codice:
    $contenuto = ($condizione1=='abc' && $condizione2==false) ? '...contentuo...' : null;
    if($contenuto)
    	echo $contentuo

  3. #3
    Ciò che ho indicato come '...contenuto...' è un lungo blocco di codice html/php che non riesco a mettere nella dichiarazione di un operatore ternario...
    «Prendo rifugio nel grande BOH»

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2019
    Messaggi
    31
    Posta il resto del codice, altrimenti non abbiamo molto su cui ragionare

  5. #5
    Il resto del codice non ha nessuna utilità ai fini di ciò che ho chiesto nel post.
    Questo è il contenuto che viene stampato in caso le condizioni si avverino:

    Codice PHP:
    <? if($trigger==1): ?>
    <li class="<?=$cl?>">
       <a href="<?=$root?>portfolio/<?=$cl?>">
          <img src="<?=$root?>img/portfolio/<?=$cl?>/<?=$cl?>-preview.jpg" alt="<?=$cliente?>" />
       </a>
    </li>
    <? endif; ?>
    Ultima modifica di mahamatt; 29-10-2019 a 22:54
    «Prendo rifugio nel grande BOH»

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,690
    Ciao, in linea di massima ciò che hai postato può essere sintetizzato negando quell'intera condizione, senza bisogno di usare flag aggiuntivi:

    codice:
    if(!($condizione1=='abc' && $condizione2==false)){
        echo '...CONTENUTO...';
    }
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Non sapevo si potesse usare la notazione if(!(...)), in questo caso il problema è risolto.
    Grazie mille
    «Prendo rifugio nel grande BOH»

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.