您通過數組循環,使用方式:
foreach($array as $var => $content) {
// ...
}
讓我覺得你應該使用一個關聯數組您$array
。
即,應該這樣聲明:
$array = array("HEADER" => "Welcome to ".NAME."'s website!");
而且,作爲一個示範,這裏的代碼示例:
$template = <<<TPL
Hello, World !
{HEADER}
And here's the content ;-)
TPL;
define("NAME","Site Name");
$array = array("HEADER" => "Welcome to ".NAME."'s website!");
foreach($array as $var => $content) {
$template = str_replace("{" . strtoupper($var). "}", $content,$template);
}
var_dump($template);
和輸出我明白了:
string 'Hello, World !
Welcome to Site Name's website!
And here's the content ;-)' (length=73)
這表明它的工作;-)
(它不是,當$array
被宣佈爲y OU設置)
當使用這樣的:
$array = array("HEADER","This is the header");
var_dump($array);
您聲明一個包含兩個元素的數組:
array
0 => string 'HEADER' (length=6)
1 => string 'This is the header' (length=18)
在另一方面,在使用這樣的:
$array = array("HEADER" => "This is the header");
var_dump($array);
您聲明一個數組:
其中給出:
array
'HEADER' => string 'This is the header' (length=18)
當使用foreach ($array as $key => $value)
,你需要第二個;-)
而且,純粹是爲了參考,你可以看看,在手冊中,以下頁面:
當你說它「不起作用」,發生了什麼?你看到了什麼?錯誤報告開啓時您是否看到任何伴隨的錯誤? – webbiedave 2010-03-18 22:13:38