-
PHP or
Io ho cercato un po' su google, ma ho trovato solo come funziona l'or nelle condizioni all'interno dell'if
Codice PHP:
if($a == 1 or $b == 2) {...}
Poi per caso ho trovato su internet questo:
Codice PHP:
$conn = mysql_connect("localhost", "pma", "") or die("Errore nella connessione al database")
Come funziona questo or qua?
-
L'operatore è sempre lo stesso, e sempre lo stesso è il suo comportamento. In ogni caso, l'interprete quando raggiunge una espressione or identifica e determina il valore del primo operando, quello a sinistra. Nota che questa operazione potrebbe produrre un qualche effetto, come per esempio nel secondo codice che hai scritto, dove c'è una chiamata ad una funzione che esegue del codice. Se il valore del primo operando, convertito come booleano, è vero allora il secondo operando non viene nemmeno valutato e l'intera espressione or "restituisce" il valore del primo operando (non convertito come booleano però). Altrimenti viene valutato il secondo operando e viene "restituito" direttamente il valore di quest'ultimo.
Anche per l'operatore and il processo è analogo.
-
Grazie :=D:
Quindi anziché una funzione nel secondo operando dovrei scrivere una stringa?
-
Puoi metterci tutto quello che vuoi. Di fatto l'espressione
Codice:
$risultato = operando1 or operando2
è equivalente a
Codice:
$operando1_valuato = operando1;
if($operando1_valuato){
$risultato = $operando1_valuato;
}else{
$risultato = operando2;
}
-