2014-11-06 52 views
-1

在我当前的代码中,我通过设置变量$title然后输出变量<title>来设置页面的标题。使用函数设置<title>

<?php 
    $title = "My Title"; 
?> 

<html> 
    <head> 
     <title><?php echo $title ?></title> 
    </head> 

现在,我可以设置和获得标题是一个函数吗?像这样的事情,但没有全局变量...

<?php 
    function set_title($title) { 
     $GLOBALS[ "title" ] = $title; 
    } 
    function get_title() { 
     return (isSet($GLOBALS[ "title" ])) ? htmlspecialchars($GLOBALS[ "title" ]) : ""; 
    } 

    set_title("My Title"); 
?> 

<html> 
    <head> 
     <title><?php echo get_title() ?></title> 
+0

如何在不使用任何全局变量的情况下获取函数内部的信息,如果标题是静态的,则可以将其放入函数中。 – Shubanker 2014-11-06 06:56:58

+0

@Subhanker我不知道如何,这就是为什么我问;)我担心没有好办法做到这一点,但最好问问。不,标题不是静态的。 – Lukas 2014-11-06 06:57:10

+1

这可能有助于'get_title(){global $ title; return $ title}' – Shubanker 2014-11-06 06:58:14

回答

0

函数内声明没有变量是当地针对该功能不能以任何手段之外访问。

<?php 
$a = 1; 
$b = 2; /* global scope */ 

function test() 
{ 
    $b = $a + $b; 
    echo $b; /* reference to local scope variable */ 
} 

test(); 
?> 

以上只能通过全球范围(IE)

global $a, $b; 

$b = $a + $b; 

$GLOBALS['b'] = $GLOBALS['a'] + $GLOBALS['b']; 

同样可以访问来自于您的方案中发挥

$title与全球范围$GLOBALS[ "title" ]无法访问...