Che cosa significa questa sintassi (page = $ page $ pagina:? 'Default') in PHP significa?
-
21-09-2019 - |
Domanda
Sono nuovo di PHP. Mi sono imbattuto in questa sintassi nel WordPress . Che cosa fa l'ultima riga di codice che fare?
$page = $_SERVER['REQUEST_URI'];
$page = str_replace("/","",$page);
$page = str_replace(".php","",$page);
$page = $page ? $page : 'default'
Soluzione
E 'un esempio di operatore condizionale in PHP.
E 'la versione abbreviata di:
if (something is true ) {
Do this
}
else {
Do that
}
Vedere Utilizzando if / else Gli operatori ternari http://php.net/manual/en/language.operators.comparison. php .
Altri suggerimenti
Ecco l'operatore ternario :
Questa linea si traduce in
if ($page)
$page = $page;
else
$page = 'default';
E 'un operazione ternario che non è PHP o WordPress specifico, esiste nella maggior parte dei linguaggi .
(condition) ? true_case : false_case
Quindi, in questo caso il valore di $ pagina sarà "default", quando $ page è qualcosa di simile a false - altrimenti rimangono invariati.
Ciò significa che se $ page non dispone di un valore (o è pari a zero), impostarlo su 'default'.
Ciò significa che se la variabile $ pagina non è vuota quindi assegnare la variabile $ pagina su l'ultima riga che variabile o impostarlo per nome della pagina 'default'.
sintassi più prolissa del l'ultima riga è:
if ($page)
{
$page = $page;
}
else
{
$page = 'default';
}
Questo è il cosiddetto condizionale operatore . Funziona come una dichiarazione if-else, così
$page = $page ? $page : 'default';
fa la stessa
if($page)
{
$page = $page;
}
else
{
$page = 'default';
}