2014-11-06 51 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" ]無法訪問...