私はサーバー上で動的クエリを実行するための簡単なテンプレートシステムを作成しています。str_replace予期しない動作
私はもともと私のテンプレートクラスに次のコードを持っていた:私は(「{}」文字がまだ出力に残っていた)期待通りに文字列が交換されていなかったことがわかり
$output = file_get_contents($this->file);
foreach ($this->values as $key => $value) {
$tagToReplace = "{$key}";
$output = str_replace($tagToReplace, $value, $output);
}
を。
私はその後に '問題' の行を変更:予想通りそれは、その後働い
$tagToReplace = '{'."$key".'}';
。なぜこの変更が必要でしたか?解釈された文字列の "{"はPHPで特別な意味を持ちますか?
{}でキーをラップする匿名関数を忘れてしまった! – meze