Question

Je suis nouveau à PHP. Je suis tombé sur cette syntaxe dans WordPress . Qu'est-ce que la dernière ligne de ce code fait?

$page = $_SERVER['REQUEST_URI'];
$page = str_replace("/","",$page);
$page = str_replace(".php","",$page);
$page = $page ? $page : 'default'
Était-ce utile?

La solution

Il est un exemple de l'opérateur conditionnel en PHP.

Il est la version abrégée de:

if (something is true ) {
    Do this
}
else {
    Do that
}

Voir Utiliser if / else opérateurs ternaires http://php.net/manual/en/language.operators.comparison. php .

Autres conseils

C'est l'opérateur ternaire :

Cette ligne se traduit par

if ($page)
    $page = $page;
else
    $page = 'default';

Il est un opération ternaire est pas PHP ou WordPress spécifique, il existe dans la plupart langauges .

(condition) ? true_case : false_case 

Donc, dans ce cas, la valeur de la page $ sera « par défaut », quand $ page est quelque chose de similaire à false - sinon il reste inchangé.

Cela signifie que si la page $ n'a pas de valeur (ou nul), réglez-le sur « par défaut ».

Cela signifie que si la variable $ page n'est pas vide alors assigner la variable $ page sur la dernière ligne que variable ou réglez-le sur le nom de la page « par défaut ».

Il est appelé opérateur conditionnel

syntaxe plus bavard de la dernière ligne est:

if ($page)
{
    $page = $page;
}
else
{
    $page = 'default';
}

C'est le soi-disant opérateur conditionnel . Elle fonctionne comme une instruction if-else, si

$page = $page ? $page : 'default';

fait la même chose que

if($page)
{
    $page = $page;
}
else
{
    $page = 'default';
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top