注册 登录

清河洛

PHP中流程控制及缓存控制

qingheluo2016-12-16清河洛309
一、if语句if(条件1){ 语句一 }elseif(条件2){ 语句二 } ... }else{ 语句n } 二、switch语句switch(表达式){ case 值 1: 语句块1; break; case 值 2: 语句块2; break; ....... default: 语句块n } 三、while语句while(表达式){ 语句.... } 四、do...while语句do{ 语句... }while(表达式); 五、for...

一、if语句

if(条件1){
    语句一
}elseif(条件2){
    语句二
}
...
}else{
    语句n
}

二、switch语句

switch(表达式){
    case 值 1:
        语句块1;
        break;
    case 值 2:
        语句块2;
        break;
    .......
    default:
        语句块n
}

三、while语句

while(表达式){
    语句....
}

四、do...while语句

do{
    语句...
}while(表达式);

五、for语句

for(表达式a;表达式b;表达式c){
    语句...
}

表达式a:初始化话的语句,如$i=0,多个表达式中间用逗号(,)隔开
表达式b:用来判断true或者false的表达式,多个表达式中间用逗号(,)隔开
表达式c:对初始化的变量进行自增或自减的运算的语句,多个表达式中间用逗号(,)隔开

六、特殊的流程控制语句

1.break语句

用于switch语句,for,while,do...while,foreach,用于中断这些语句

后面可以接上一个数字来表示跳出几层循环,默认不加就是跳出当前循环语句

2.continue语句

只能用在循环语句,跳出本次循环,并不是结束整个循环语句

3.exit([$msg])语句(等价于die())

结束当前整个程序的执行

如果$msg是一个字符串,在退出之前会打印该值

如果$msg是一个int,会作为退出状态码,且不会被打印

退出状态码应该在范围0至254,不应使用被PHP保留的退出状态码255,状态码0用于成功中止程序

4.sleep($sec) 和 usleep()延时执行:

脚本延时$sec秒执行。usleep()和sleep()功能一样,只不过单位是微秒

七、输出缓存:

ob_start():打开输出控制缓冲,当输出缓冲激活后,脚本将不会输出内容(除http标头外),相反需要输出的内容被存储在内部缓冲区中。

flush():刷新输出缓冲,刷新PHP程序的缓冲,而不论PHP执行在何种情况下。该函数将当前为止程序的所有输出发送到用户的浏览器。flush()函数不会对服务器或客户端浏览器的缓存模式产生影响。因此,必须同时使用ob_flush()和flush()函数来刷新输出缓冲。

ob_flush():冲刷出(送出)输出缓冲区中的内容,缓冲区内容将被丢弃。此函数不会销毁输出缓冲区

ob_end_flush():冲刷出(送出)输出缓冲区内容并关闭缓冲(销毁输出缓冲区)

ob_get_flush():冲刷出(送出)输出缓冲区内容,以字符串形式返回内容,并关闭输出缓冲区(销毁输出缓冲区)。

ob_get_contents():回获取并返回输出缓冲区的内容,只是得到输出缓冲区的内容,但不清除它。

ob_get_length():返回输出缓冲区内容的长度

ob_implicit_flush($flag = true):打开/关闭绝对刷送。绝对(隐式)刷送将导致在每次输出调用后有一次刷送操作,以便不再需要对 flush() 的显式调用。

ob_clean():清空(擦掉)输出缓冲区,用来丢弃输出缓冲区中的内容,此函数不会销毁输出缓冲区

ob_end_clean():清空(擦除)缓冲区并关闭输出缓冲(销毁输出缓冲区)

ob_get_clean():得到当前缓冲区的内容以字符串形式返回并删除当前输出缓(销毁输出缓冲区)。

ob_get_clean()实质上是一起执行了ob_get_contents()和ob_end_clean()



网址导航