la faccio figa![]()
codice:$lang = !isset($_GET['lang']) ? 'IT' : ( $_GET['lang']=='IT' || $_GET['lang']=='EN' ) ? $_GET['lang'] : 'IT';![]()
![]()
te l'ho spezzato su + righe per fartelo capire meglio, ma in realtà poteva stare su una sola
si chiama "operatore ternario" (che bello, credo che sia una delle poche volte che mi ricordo come si chiama) in pratica ti permette di restituire un valore od un altro in base alla condizione booleana
ovvero
$variabile = CONDIZIONE_BOOLEANA ? RESTITUITO_QUESTO_VALORE_SE_TRUE : RESTITUITO_QUESTO_VALORE_SE_FALSE
la condizione booleana deve valere true o false
in tutti e 3 i parametri puoi mettere qualsiasi cosa vuoi, ma ricordati ovviamente che nel primo deve essere gestito come valore booleano...un po come un if
xo è + comodo da usarecodice:if (CONDIZIONE_BOOLEANA) { $variabile = RESTITUITO_QUESTO_VALORE_SE_TRUE; } else { $variabile = RESTITUITO_QUESTO_VALORE_SE_FALSE; }
quello che ti ho scritto su un doppio operatore ternario, in pratica lanci il primo, se il valore che ritorna il primo è true (isset restituisce false se il valore non è settato, ma quel punto esclamativo all'inizio inverte il valore booleano...!true = false e al contrario...quindi !false diventa true) allora lancia il secondo operatore ternario che verifica se il contenuto è IT o EN altrimenti, se false, in tutti e due i casi, restituisce IT
è possibile anche farlo con un solo operatore ternario cosi...
codice:$lang = isset($_GET['lang']) && $_GET['lang']=='IT' && $_GET['lang']=='EN' ? $_GET['lang'] : 'IT';
non so se mi sono spiegato, ma c'ho provato![]()


Rispondi quotando