首页 > php学习 > php基础知识 > PHP中流程控制及缓存控制
2016
12-16

PHP中流程控制及缓存控制

一、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()(等价于die())语句exit($status)

如果 status 是一个字符串,在退出之前该函数会打印 status 。

如果status 是一个 integer,该值会作为退出状态码,并且不会被打印输出。 退出状态码应该在范围0至254,不应使用被PHP保留的退出状态码255。 状态码0用于成功中止程序。

作用:结束当前整个程序的执行!

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

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

七、捕获异常语句

try {
    运行语句;
}catch(Exception $e){
    print $e->getMessage();
}

在使用PDO进行数据库连接时异常类为PDOException。

Exception类中的属性和方法:

protected $message = 'Unknown exception'; // 异常信息

protected $code = 0; // 用户自定义异常代码

protected $file; // 发生异常的文件名

protected $line; // 发生异常的代码行号

function __construct($message = null, $code = 0);

final function getMessage(); // 返回异常信息

final function getCode(); // 返回异常代码

final function getFile(); // 返回发生异常的文件名

final function getLine(); // 返回发生异常的代码行号

final function getTrace(); // backtrace() 数组

final function getTraceAsString(); // 已格成化成字符串的 getTrace() 信息

/* 可重载的方法 */

function __toString(); // 可输出的字符串

八、输出缓存:

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():打开/关闭绝对刷送。绝对(隐式)刷送将导致在每次输出调用后有一次刷送操作,以便不再需要对 flush() 的显式调用。

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

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

ob_get_clean():得到当前缓冲区的内容以字符串形式返回并删除当前输出缓(销毁输出缓冲区)。ob_get_clean()实质上是一起执行了ob_get_contents()和ob_end_clean()。

最后编辑:
作者:qingheluo
这个作者貌似有点懒,什么都没有留下。