Kullandığınız, dizi içinde döngü yolu:
foreach($array as $var => $content) {
// ...
}
Bana sizin $array
için bir associative array kullanmak gerektiğini düşünüyorum yapar.
yani, bu şekilde beyan edilmelidir:
$array = array("HEADER" => "Welcome to ".NAME."'s website!");
And, as a demonstration, here's an example of code :
$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);
Ve çıkış anladım:
string 'Hello, World !
Welcome to Site Name's website!
And here's the content ;-)' (length=73)
Which indicates it's working ;-)
(It wasn't, when $array
was declared the way you set it)
When using this :
$array = array("HEADER","This is the header");
var_dump($array);
Iki öğe içeren bir dizi ilan edilir:
array
0 => string 'HEADER' (length=6)
1 => string 'This is the header' (length=18)
On the other hand, when using this :
$array = array("HEADER" => "This is the header");
var_dump($array);
O bir dizi ilan edilir:
- yalnızca bir öğe içerir
- Tuş olmak "HEADER"
- ve değeri olan "Bu başlığıdır"
Verir:
array
'HEADER' => string 'This is the header' (length=18)
When using foreach ($array as $key => $value)
, you need the second one ;-)
And, purely for reference, you can take a look at, in the manual, the following pages :