Visualizzazione risultati 1 fino 8 di 8

Discussione: [PHP] if/else: non mostrare righe con campi vuoti

  1. #1
    Guest

    Predefinito [PHP] if/else: non mostrare righe con campi vuoti

    Ciao a tutti.

    Con il seguente script, qualora $var sia vuoto, non stampo l'intero contenuto di if.

    Codice PHP:
    if ($var != '') {
    echo
    "<b>Variabile:</b> ".$var."\n";
    }
    else {
    echo
    "";
    }
    Il fatto è che ho diverse variabili e non vorrei dichiarare un if per ogni singola variabile...

    Mettiamo il caso che io abbia le variabili $var e $vars.
    Codice PHP:
    $var = ''; // è vuota
    $vars = 'ciaooo'; // è piena
    Se scrivo così:
    Codice PHP:
    if ($var != '' && $vars != '') {
    echo
    "<b>Variabile:</b> ".$var;
    echo
    "<b>Seconda variabile:</b> ".$vars;
    }
    else {
    echo
    "";
    }
    entrambe le variabili non vengono stampate.
    Mentre se $var e $vars sono piene, vengono stampate.

    Io invece vorrei unire più variabili dentro l'if e stampare quelle piene.

  2. #2
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Se la condizione è sulla singola variabile è inevitabile usare una if per ogni variabile.

    Se proprio vuoi ridurre il codice puoi infilarle in un array e ciclarlo. In quel caso nel codice hai una sola if, ma non so se è quello il tuo problema.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  3. #3
    Guest

    Predefinito

    Il codice completo sarebbe:

    Codice PHP:
    if ($var != '') {
    echo
    "<b>Variabile:</b> ".$var."\n";
    }
    else {
    echo
    "";
    }

    if (
    $var1 != '') {
    echo
    "<b>Variabile 1:</b> ".$var1."\n";
    }
    else {
    echo
    "";
    }

    if (
    $var2 != '') {
    echo
    "<b>Variabile 2:</b> ".$var2."\n";
    }
    else {
    echo
    "";
    }
    Io volevo raggruppare tutto sotto un unico if...

  4. #4
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Appunto non puoi perché le singole echo dipendono dalle singole variabili. Al massimo puoi fare una cosa così:

    Codice PHP:
    $arr = array($var, $var1, $var2);
    for (
    $i = 0; $i < sizeof($arr); $i++)
    if (
    $arr[$i]) echo "<b>Variabile $i:</b> {$arr[i]}\n";


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  5. #5
    Guest

    Predefinito

    Citazione Originalmente inviato da musicanapoli Visualizza messaggio
    Io volevo raggruppare tutto sotto un unico if...
    Come già ti ha fatto notare saitfainder, è inevitabile usare una if per ogni variabile. Piuttosto, che ci sta a fare l'else?

    Codice PHP:
    if ($var != '') {
    echo
    "<b>Variabile:</b> ".$var."\n";
    }

    if (
    $var1 != '') {
    echo
    "<b>Variabile 1:</b> ".$var1."\n";
    }
    eccetera.

  6. #6
    Guest

    Predefinito

    Che però stampa:
    Variabile 0, Variabile 1
    cioè incrementa i numeri e riesce a non stampare la variabile vuota...
    Appunto non puoi perché le singole echo dipendono dalle singole variabili.
    Allora utilizzerò lo script normale, era solo per accorciare un po' il codice...
    Grazie.

    Citazione Originalmente inviato da webeginner
    Come già ti ha fatto notare saitfainder, è inevitabile usare una if per ogni variabile. Piuttosto, che ci sta a fare l'else?

    Codice PHP:
    if ($var != '') {
    echo
    "<b>Variabile:</b> ".$var."\n";
    }

    if (
    $var1 != '') {
    echo
    "<b>Variabile 1:</b> ".$var1."\n";
    }
    eccetera.
    Nel caso volessi stampare qualcos'altro al posto delle variabili vuote...
    Ultima modifica di musicanapoli : 11-05-2011 alle ore 16.42.44

  7. #7
    Guest

    Predefinito

    Citazione Originalmente inviato da musicanapoli Visualizza messaggio
    Nel caso volessi stampare qualcos'altro al posto delle variabili vuote...
    Ah beh, in questo caso ok, ma puoi sempre aggiungerlo quando decidi di usarlo. Per ora, siccome vuoi snellire il codice, quello è proprio inutile

  8. #8
    Guest

    Predefinito

    Si infatti, per il momento ho eliminato tutti gli else, grazie comunque per avermelo fatto notare.

Tags for this Thread

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •