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.
";
}
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.