根据PHP中的另一个变量更改变量的值

时间:2013-09-13 21:40:32

标签: php function variables global-variables

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

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

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

所有页面文件中都包含此略有变化。事情很好。

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

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

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

我不只是在寻找合适的代码,而是在可能的情况下进行解释。在此先感谢您的帮助。

4 个答案:

答案 0 :(得分: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 

} 

答案 1 :(得分:1)

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

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

if(array_key_exists($page, $titles)){
 echo $titkes[$page];
}

答案 2 :(得分: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();

?>

答案 3 :(得分:0)

我建议使用switch case语句来存储所有可能的类型。

switch($page){
    case "contact":
        $title = "Contact Us";
        break;
    case "about":
        $title = "About Us";
        break;
    default:
        $title = "Default Title";
        break;
}
相关问题