PHP4新函數集錦_PHP
來源:互聯網
上載者:User
關鍵字
集錦
函數
輸出
foreach
內容
緩衝區
value
這些函數可以讓你控制你的指令碼輸出的內容.可以用於許多不同的情況,特別是在你的指令碼已經輸出資訊後需要傳送檔案頭新的情況. 輸出控制函數不對使用 header() 或 setcookie() 發送的檔案頭資訊產生影響,只對那些類似於 echo() 和 PHP 代碼的資料區塊有作用.
例 1. 控制輸出
ob_start();
echo "Hellon";
setcookie ("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()
二、取得目前的目錄
這是 php4 的新的目錄函式!
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,它很像是 perl和其它的語言,你可以給它一個陣列,讓它來取出陣列的值。它有下列這二個文法,第二個文法是較次要的,但是可用來作為第一個文法的延伸。
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.
";
}