c代码如下:#include "stdafx.h"
#include <windows.h>
void fun1();
void fun2();
void fun3();
int _tmain(int argc, _TCHAR* argv[])
{
fun1();
fun2();
fun3();
}void fun1()
{
printf("1");
}void fun2()
{
Sleep(10000);
}
void fun3()
{
printf("3");
}PHP代码如下:fun1();
fun2();
fun3();
function fun1()
{
echo 1;
}
function fun2()
{
sleep(10);}
function fun3()
{
echo 3;
}
在C中,会按顺序依次执行,即先输出1后再等待10s再输出3,但是在PHP中,会先等待10s钟再输出1和3,请问下PHP执行的机制是咋样的?头痛啊....
#include <windows.h>
void fun1();
void fun2();
void fun3();
int _tmain(int argc, _TCHAR* argv[])
{
fun1();
fun2();
fun3();
}void fun1()
{
printf("1");
}void fun2()
{
Sleep(10000);
}
void fun3()
{
printf("3");
}PHP代码如下:fun1();
fun2();
fun3();
function fun1()
{
echo 1;
}
function fun2()
{
sleep(10);}
function fun3()
{
echo 3;
}
在C中,会按顺序依次执行,即先输出1后再等待10s再输出3,但是在PHP中,会先等待10s钟再输出1和3,请问下PHP执行的机制是咋样的?头痛啊....
fun1();
fun2();
fun3();
function fun1()
{
echo date('h:i:s');
}
function fun2()
{
sleep(10);}
function fun3()
{
echo date('h:i:s');
}
echo str_repeat(' ', 4096);
fun1();
fun2();
fun3();
function fun1()
{
echo 1;
endFlush();
}
function fun2()
{
sleep(10);}
function fun3()
{
echo 3;
endFlush();
}
function endFlush() {
@ob_flush();
flush();
}
而PHP是B/S语言,一次请求不可能像C似得给你发送三次数据到屏幕,客户端请求服务端,服务端处理完数据之后一次性返回结果到客户端屏幕,这就是根本差异
ob_start();
ob_end_flush();
for($i = 1; $i <= 300; $i++ )echo ' ';//楼主的问题主要在这块$i = 0;
while(1) {
echo $i;
sleep(1);
flush();
$i++;
}