如何在外部模板文件中使用复杂花括号

  • 本文关键字:复杂 文件 外部 php
  • 更新时间 :
  • 英文 :


我试图从外部文件插入字符串,但我使用复杂花括号有问题。变量没有按预期填充?如果我把代码从外部模板文件它成功地返回一个值为每个变量。

index . php

function getIncludeContents($included_file_path, $post){

if ( !file_exists( __DIR__ . $file ) ) {
return 'nofile';
}

if ( is_array( $post ) ){
extract( $post );
}

ob_start(); 
include($included_file_path);
return ob_get_clean();
}
$navigation = getIncludeContents('layouts/test.php', $post);
var_dump($navigation);

test.php

<div id="post-{$post['id']}"></div>

这回报…'<div id="post-${post['id']}"></div>'

当它应该返回…'<div id="post-201"></div>

知道为什么吗?由于

由于test.php没有<?php,它被视为固定文本,而不是PHP代码来执行。它需要echo语句来回显变量,或者您可以使用短echo标记。

<div id="post-<?= $post['id'] ?>"></div>

试试这个

<div id="post-<?php echo $post['id']?>"></div>

最新更新