0

首先让我说我正在努力学习PHP,我学的越多,我就越想学习和使用这门语言。我主要是一名 HTML5/CSS3 编码员,并试图通过使用 PHP 来提高我的网站效率。

这是我目前的困境。我正在尝试根据需要利用变量来更改值。在每个页面文件的开头我已经声明了页面名称,调用了我的函数文件并调用了头和头函数:

<?php
    $page = 'contact';
    include('functions.php');
    head();
    header();
?>

所有页面文件中都包含了一个轻微的变化。事情很好。

现在,在我的functions.php中,我有一个元标题值的变量,即$title,并将其声明为全局变量。

如何根据 $page 变量的值更改此变量的值?这是我添加到 functions.php 文件中的内容,但我很确定它不正确,因为它不起作用:

$title = array {
    if ($page == 'contact') {
        echo 'Contact Us';
    }
}

我不只是在寻找正确的代码,而是在可能的情况下进行解释。提前感谢你的帮助。

4

4 回答 4

3

您可以将所有标题存储在关联数组中:

$TITLES = array(
    'contact' => 'Contact Us',
    'home' => 'Welcome',
);

$title = "Some Default Title"; 

if(isset($TITLES[$page])){ //check to see if we have a specific title set up 

    $title = $TITLES[$page]; //override it if it is set 

} 
于 2013-09-13T21:44:47.553 回答
1

您可以简单地创建一个关联数组,其中包含作为键的页面和作为值的标题,然后您可以获得如下值:

$titles = array('Home' => 'Welcome to Home', 'contact' => 'Contact Us');

if(array_key_exists($page, $titles)){
 echo $titkes[$page];
}
于 2013-09-13T21:47:20.483 回答
1

您可以使用带参数的函数,然后用用switch例检查变量值并返回适当的文本。

function pageTitle($var) {
    switch ($var)
    {
    case "contact":
      return "Contact Us";
      break;
    case "about":
      return "About Us";
      break;
    .
    .
    .
    default:
      return "Default"; //default case
    }
}

并像这样使用它:

<?php
    $page = 'contact';
    include('functions.php');
    head();

    echo PageTitle('contact'); //should echo 'Contact Us'
    header();

?>
于 2013-09-13T21:47:35.203 回答
0

我推荐的可能是一个switch case存储所有可能类型的语句。

switch($page){
    case "contact":
        $title = "Contact Us";
        break;
    case "about":
        $title = "About Us";
        break;
    default:
        $title = "Default Title";
        break;
}
于 2013-09-13T21:47:12.440 回答