Я новичок в PHP. Я столкнулся с этим синтаксисом в WordPress . Что делает последняя строка этого кода?
$page = $_SERVER['REQUEST_URI']; $page = str_replace("/","",$page); $page = str_replace(".php","",$page); $page = $page ? $page : 'default'
Это пример условного оператора в PHP.
Это сокращенная версия:
if (something is true ) { Do this } else { Do that }
См. « Использование / Недействительных троичных операторов» http://php.net/manual/en/language.operators.comparison.php .
Это тернарный оператор :
Эта строка переводится в
if ($page) $page = $page; else $page = 'default';
Это тройная операция, которая не является специфичной для PHP или WordPress, она существует в большинстве языков.
(condition) ? true_case : false_case
Таким образом, в этом случае значение $ page будет «по умолчанию», когда $ page – нечто похожее на false – в противном случае оно останется неизменным.
Это означает, что если $ page не имеет значения (или равно нулю), установите для него значение по умолчанию.
Это означает, что если переменная $ page не является пустой, присвойте переменной $ page на последней строке эту переменную или установите ее имя страницы по умолчанию.
Он называется условным оператором
Более подробный синтаксис последней строки:
if ($page) { $page = $page; } else { $page = 'default'; }
Это так называемый условный оператор . Он функционирует как оператор if-else, поэтому
$page = $page ? $page : 'default';
делает то же самое, что и
if($page) { $page = $page; } else { $page = 'default'; }