我无法将一个php文件中的heredoc
语句回显到另一个php文件中。我有一个脚本用于检索API数据库信息,然后将该信息格式化为heredoc
以将信息回显到index.php
页面。我的代码是:
while($artist_info = $artist_details_resource->fetch_assoc()){
$artist = <<<DOC
<img src="{$artist_info['image_url']}" alt="$artist_info['artist_name']" />
<p>{$artist_name}</p>
DOC;
}
在index.php脚本中,我在想要打印heredoc的地方开始一个php子句。代码是:
<?php
if($artist){
echo $artist;
}
?>
然而,这仅打印来自while循环的最后一个heredoc字符串,并且不会通过每次迭代回显每个heredoc。
答案 0 :(得分:2)
为什么会这样?你不是在循环中回应它,也不是在连接字符串。你在每次迭代时都会覆盖字符串。
while($artist_info = $artist_details_resource->fetch_assoc()){
$artist .= <<<DOC
<img src="{$artist_info['image_url']}" alt="$artist_info['artist_name']" />
<p>{$artist_name}</p>
}
请注意.=
答案 1 :(得分:1)
当然这只打印最后一个字符串,因为你使用$artist = <<<DOC
所以你在每个循环中覆盖$ artist变量的值。
尝试$artist .= <<<DOC
或将其放入数组:$artists[] = <<<DOC