`

PHP4新函数集锦

阅读更多
一、输出信息控制函数


这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况.输出控制函数不对使用header()或setcookie()发送的文件头信息产生影响,只对那些类似于echo()和PHP代码的数据块有作用.

例1.控制输出

<?php

ob_start();
echo"Hellon";

setcookie("cookiename","cookiedata");

ob_end_flush();

?>

在上面的例子中,使用echo()的输出内容将会保存在输出缓冲区中,直到调用了ob_end_flush().这样做有意义的地方是,调用setcookie()的内容被成功的存储在cookie里面而不会引起错误.(正常情况下,你不可以在有数据已经发送后再发送文件头信息到用户浏览器.)

相关函数header()andsetcookie().

韩数列表
flush—刷新输出缓冲区
保存在输出缓冲区的内容会被发送到浏览器

ob_start—打开输出缓冲区
这样所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面

ob_get_contents—返回输出缓冲区的内容
如果你想以后处理输出的内容,可以调用这个函数保留一个备份

ob_get_length—返回输出缓冲区的内容长度

ob_end_flush—结束(发送)输出缓冲区的内容,关闭输出缓冲区

ob_end_clean—删除(放弃)输出缓冲区的内容,关闭输出缓冲区
如果你的程序发现输出内容有问题,可以放弃所有输出内容,可以防止泄漏某些秘密信息

ob_implicit_flush—打开或关闭直接刷新
打开后,每个脚本输出都直接发送到浏览器,不再需要调用flush()


二、取得当前目录


这是php4的新的目录函数!

stringgetcwd(void)

返回为当前脚本路径的字符串!

三、解决脚本超时

在php的配置/信息里面有一个设置脚本执行时间的函数,具体情况如下:

set_time_limit
配置该页最久执行时间。

语法:voidset_time_limit(intseconds);

返回值:无

函数种类:PHP系统功能

内容说明

本函数用来配置该页最久执行时间。默认值是30秒,在php.ini中的max_execution_time变量配置,若配置为0则不限定最久时间。当执行到该函数时,才开始计算。例如,若默认是30秒,而在执行到该函数前已执行了25秒,而用本函数改为20秒,则该页面最长执行时间为45秒。

使用实例:
我的文章搜索函数由于文章数目的增加,经常会产生超时错误,我把脚本执行时间改为200秒后情况大大缓解!


<?
set_time_limit(200);
?>


四、数组遍历

·foreach
在PHP4中,新增了一个循环语句foreach,它很像是perl和其它的语言,你可以给它一个阵列,让它来取出阵列的值。它有下列这二个语法,第二个语法是较次要的,但是可用来作为第一个语法的延伸。
foreach(array_expressionas$value)statement
foreach(array_expressionas$key=>$value)statement
第一个形式的循环,它会在每个循环上,将目前元素的值分配给$value,并且向后移动阵列的內部指针,所以在下一个循环的时候,你就会看到下一个元素了。
第二个形式的循环和第一个是相同的,不同的是它会在每个循环将目前元素的索引值分配给变量$key。
注意:当foreach第一次开始执行的时候,它会把阵列的內部指针重新设定到阵列的第一个元素,意思是说,在使用foreach之前,你不必再去调用reset()。
注意:foreach的功能是复制,而不是阵列它本身,因此并不会改变阵列指针
下面范例的功能都是相同的:


<?php
reset($arr);
while(list(,$value)=each($arr)){
echo"Value:$value<br>
";
}

foreach($arras$value){
echo"Value:$value<br>
";
}
?>


下面范例的功能也都是相同的:


<?php
reset($arr);
while(list($key,$value)=each($arr)){
echo"Key:$key;Value:$value<br>
";
}
foreach($arras$key=>$value){
echo"Key:$key;Value:$value<br>
";
}
?>


以下的范例将说明foreach的用法:


<?php
/*foreachexample1:valueonly*/
$a=array(1,2,3,17);
foreach($aas$v){
print"Currentvalueof$a:$v.
";
}

/*foreachexample2:keyandvalue*/
$a=array(
"one"=>1,
"two"=>2,
"three"=>3,
"seventeen"=>17
);
foreach($aas$k=>$v){
print"$a[$k]=>$v.
";
}
?>

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics