如何使用php条件设置页面标题



我试图看到不同页面的不同标题

在header.php中,我检查文件名以设置正确的标题,如

<?php
$page = basename($_SERVER['PHP_SELF']);
if ($page == 'index.php'): ?>
<title>Home page</title>
<?php elseif($page == 'price.php'): ?>
<title>Price page</title>
<?php elseif($page == 'areas.php'): ?>
<title>Areas page</title>
<?php endif; ?>

仅对于<?php elseif($page == 'price.php'): ?>不起作用,我的意思是它由于某种原因没有打印标题标签,文件名price.php是正确的。如果我在<?php elseif($page == 'price.php'): ?>中打印echo $page,它会显示价格.php

问题出在哪里?

在php8中引入match表达式比其他条件下更有效、更优雅。。。我希望这能简化您的代码并解决问题。

<?php
$page = match(basename($_SERVER['PHP_SELF'])) {
'index.php' => 'Home page',
'price.php' => 'Price page',
'areas.php' => 'Areas page',
default => 'Unknown page'
};
?>
<title><?=$page?></title>

作为一种替代语法,您可以使用:

<?php
$title = '';
switch (basename($_SERVER['PHP_SELF'])) {
case ('index.php') : $title = 'Home page'; break;
case ('price.php') : $title = 'Price page'; break;
case ('areas.php') : $title = 'Areas page'; break;
}
echo '<title>'.$title.'</title>';
?>

最新更新