PHP回显函数改变了html输出的顺序?

时间:2015-03-22 11:20:26

标签: php html echo

函数getUserAvatar输出以下内容:

 <img src="http://pathtoimage/image.jpg" height="16" width="16" alt="avatar" />

我在特定的div中调用它。

当我打电话给它时,它完美无缺:

 echo '<div class="avatar">';
 echo getUserAvatar($avatar_id);
 echo '</div>';

导致以下html输出:

 <div class="avatar"><img src="http://pathtoimage/image.jpg" height="16" width="16" alt="avatar" /></div>

但是当我试图把它全部放在一行时:

 echo '<div class="avatar">' .getUserAvatar($avatar_id). '</div>';

它导致以下html,在渲染div标签之前执行该函数? :

 <img src="http://pathtoimage/image.jpg" height="16" width="16" alt="avatar" /><div class="avatar"></div>

有人可以解释为什么会这样,并提供正确的解决方案吗?

1 个答案:

答案 0 :(得分:1)

<?php
function getUserAvatar($avatar_id) {
    // your function body
    return $your_return_id;
}

echo '<div class="avatar">' .getUserAvatar($avatar_id). '</div>';