Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854

    Cosa fa questa riga di codice?

    Salve utenti,
    potreste spiegarmi cosa fa questa riga di codice:
    Codice PHP:
    $customer_notification = (SEND_EMAILS == 'true') ? '1' '0'
    Grazie!

  2. #2
    SEND_EMAILS è una costante booleana, se vale true $customer_notification diventa 1, altrimenti diventa 0. Notare che questa riga è identica a scrivere
    Codice PHP:
    $customer_nofication SEND_EMAILS

  3. #3
    Si tratta dell'operatore ternario

    Il codice che hai postato è equivalente a:

    Codice PHP:
    if (SEND_EMAILS == 'true') {
        
    $customer_notification '1';
    } else {
        
    $customer_notification '0';

    In pratica viene valutata la condizione posta prima del simbolo ? e a seconda che essa sia vera oppure falsa viene restituito il valore posto dopo il simbolo ? opuure il simbolo : rispettivamente.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it L'avatar di duri93
    Registrato dal
    Dec 2008
    Messaggi
    155
    La parte dopo l'uguale si chiama operatore ternario, praticamente è come una if, e dice "domanda ? se vero : se falso"

    Nel tuo caso se la costante SEND_EMAILS è == true restituisce 1, altrimenti restituisce 0.
    Ovviamente il valore viene salvato nella variabile $customer_notification

    E' equivalente (ma più lungo) scrivere
    Codice PHP:
    if(SEND_EMAILS == 'true'){
         
    $customer_notification '1';
    }else{
         
    $customer_notification '0';

    Le prime volte che si incontra può sembrare un po ostico, ma da quando ho imparato a usarlo il codice che scrivo è diventato più snello e leggibile

    Spero di averti spiegato bene

  5. #5
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Originariamente inviato da duri93
    il codice che scrivo è diventato più snello e leggibile


    lo amo, il ternary

    http://en.wikipedia.org/wiki/%3F:

    C# ha pure il doppio ternary http://msdn.microsoft.com/en-us/library/ms173224.aspx - una vera bellezza




    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  6. #6
    Utente bannato
    Registrato dal
    Nov 2007
    residenza
    Acicatena (Catania)
    Messaggi
    1,854
    Grazie a tutti, quindi un modo più rapido e semplice di scrivere una condizione if!

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 © 2025 vBulletin Solutions, Inc. All rights reserved.