PHP: echo 是否等到函数结束才回显?
PHP: Does echo wait until a function ends before echoing?
我正在学习 PHP 并且正在研究我找到的一些源代码。
其中有一个 ajax 请求如下:
$.post("includes/handlers/ajax_search.php", {query:value, userLoggedIn: user}, function(data) {
//uses 'data' variable
});
我不确定的是,下面的代码在被调用的函数中,似乎会多次调用 echo。被调用的 ajax 函数是在实际回显之前等待所有回显连接起来,还是像一种流一样工作?
真的很感激一些澄清吗?谢谢
while($row = mysqli_fetch_array($usersReturnedQuery)) {
$user = new User($con, $userLoggedIn);
if($row['username'] != $userLoggedIn)
$mutual_friends = $user->getMutualFriends($row['username']) . " friends in common";
else
$mutual_friends == "";
echo "<div class='resultDisplay'>
<a href='" . $row['username'] . "' style='color: #1485BD'>
<div class='liveSearchProfilePic'>
<img src='" . $row['profile_pic'] ."'>
</div>
<div class='liveSearchText'>
" . $row['first_name'] . " " . $row['last_name'] . "
<p>" . $row['username'] ."</p>
<p id='grey'>" . $mutual_friends ."</p>
</div>
</a>
</div>";
}
Echo 立即输出行。但是,PHP 有一个系统写入缓冲区。有flush() function立即输出缓冲到输出
但是,请注意,flush() 仅刷新 PHP 缓冲区,PHP 和浏览器之间可能还有其他缓冲区:例如网络服务器的缓冲区。
我正在学习 PHP 并且正在研究我找到的一些源代码。 其中有一个 ajax 请求如下:
$.post("includes/handlers/ajax_search.php", {query:value, userLoggedIn: user}, function(data) {
//uses 'data' variable
});
我不确定的是,下面的代码在被调用的函数中,似乎会多次调用 echo。被调用的 ajax 函数是在实际回显之前等待所有回显连接起来,还是像一种流一样工作?
真的很感激一些澄清吗?谢谢
while($row = mysqli_fetch_array($usersReturnedQuery)) {
$user = new User($con, $userLoggedIn);
if($row['username'] != $userLoggedIn)
$mutual_friends = $user->getMutualFriends($row['username']) . " friends in common";
else
$mutual_friends == "";
echo "<div class='resultDisplay'>
<a href='" . $row['username'] . "' style='color: #1485BD'>
<div class='liveSearchProfilePic'>
<img src='" . $row['profile_pic'] ."'>
</div>
<div class='liveSearchText'>
" . $row['first_name'] . " " . $row['last_name'] . "
<p>" . $row['username'] ."</p>
<p id='grey'>" . $mutual_friends ."</p>
</div>
</a>
</div>";
}
Echo 立即输出行。但是,PHP 有一个系统写入缓冲区。有flush() function立即输出缓冲到输出
但是,请注意,flush() 仅刷新 PHP 缓冲区,PHP 和浏览器之间可能还有其他缓冲区:例如网络服务器的缓冲区。