PHP4新函式集錦 (轉)

gugu99發表於2007-10-13
PHP4新函式集錦 (轉)[@more@]一、輸出資訊控制


這些函式可以讓你控制你的指令碼輸出的內容.可以用於許多不同的情況,特別是在你的指令碼已經輸出資訊後需要傳送頭新的情況. 輸出控制函式不對使用 header() 或 setcookie() 傳送的檔案頭資訊產生影響,只對那些類似於 echo() 和 程式碼的資料塊有作用.

例 1. 控制輸出


ob_start();
echo "Hellon";

setcook("cookiename", "cookiedata");

ob_end_flush();

?>

在上面的例子中,使用 echo() 的輸出內容將會儲存在輸出緩衝區中,直到了 ob_end_flush(). 這樣做有意義的地方是,呼叫 setcookie() 的內容被成功的在 cookie 裡面而不會引起錯誤. (正常情況下,你不可以在有資料已經傳送後再傳送檔案頭資訊到.)

相關函式 header() and setcookie().

韓數列表
flush — 重新整理輸出緩衝區
儲存在輸出緩衝區的內容會被髮送到瀏覽器

ob_start — 開啟輸出緩衝區
這樣所有的輸出資訊不在直接傳送到瀏覽器,而是儲存在輸出緩衝區裡面

ob_get_contents — 返回輸出緩衝區的內容
如果你想以後處理輸出的內容,可以呼叫這個函式保留一個

ob_get_length — 返回輸出緩衝區的內容長度

ob_end_flush — 結束(傳送)輸出緩衝區的內容,關閉輸出緩衝區

ob_end_clean — 刪除(放棄)輸出緩衝區的內容,關閉輸出緩衝區
如果你的發現輸出內容有問題,可以放棄所有輸出內容,可以防止洩漏某些秘密資訊

ob_implicit_flush — 開啟或關閉直接重新整理
開啟後,每個指令碼輸出都直接傳送到瀏覽器,不再需要呼叫 flush()


二、取得當前目錄


這是 的新的目錄函式!

string getcwd(void)

返回為當前指令碼路徑的字串!

三、 解決指令碼超時

在 php 的/資訊裡面有一個設定指令碼時間的函式,具體情況如下:

set_time_limit
配置該頁最久執行時間。

語法: void set_time_limit(int seconds);

返回值: 無

函式種類: PHP 功能

內容說明

本函式用來配置該頁最久執行時間。預設值是 30 秒,在 php.ini 中的 max_execution_time 變數配置,若配置為 0 則不限定最久時間。當執行到該函式時,才開始計算。例如,若預設是 30 秒,而在執行到該函式前已執行了 25 秒,而用本函式改為 20 秒,則該頁面最長執行時間為 45 秒。

使用例項:
我的文章搜尋函式由於文章數目的增加,經常會產生超時錯誤,我把指令碼執行時間改為200秒後情況大大緩解!

set_time_limit(200);
?>


四、 陣列遍歷

· foreach
在 PHP4中,新增了一個迴圈語句 foreach,它很像是 和其它的語言,你可以給它一個陣列,讓它來取出陣列的值。它有下列這二個語法,第二個語法是較次要的,但是可用來作為第一個語法的延伸。
foreach(array_expression as $value) statement
foreach(array_expression as $key => $value) statement
第一個形式的迴圈,它會在每個迴圈上,將目前元素的值分配給 $value,並且向後移動陣列的內部指標,所以在下一個迴圈的時候,你就會看到下一個元素了。
第二個形式的迴圈和第一個是相同的,不同的是它會在每個迴圈將目前元素的值分配給變數 $key。
注意 : 當 foreach第一次開始執行的時候,它會把陣列的內部指標重新設定到陣列的第一個元素,意思是說,在使用 foreach之前,你不必再去呼叫 reset( )。
注意 : foreach的功能是複製,而不是陣列它本身,因此並不會改變陣列指標
下面範例的功能都是相同的 :
reset ($arr);
while (list(, $value) = each ($arr)) {
echo "Value: $value

";
}

foreach ($arr as $value) {
echo "Value: $value

";
}
?>
下面範例的功能也都是相同的 :
reset ($arr);
while (list($key, $value) = each ($arr)) {
echo "Key: $key; Value: $value

";
}
foreach ($arr as $key => $value) {
echo "Key: $key; Value: $value

";
}
?>
以下的範例將說明 foreach的用法 :
/* foreach example 1: value only */
$a = array (1, 2, 3, 17);
foreach ($a as $v) {
print "Current value of $a: $v.
";
}

/* foreach example 2: key and value */
$a = array (
"one" => 1,
"two" => 2,
"three" => 3,
"seventeen" => 17
);
foreach($a as $k => $v) {
print "$a[$k] => $v.
";
}
?>


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10748419/viewspace-976316/,如需轉載,請註明出處,否則將追究法律責任。

相關文章