1. 程式人生 > >幾個不常用,但是很有用的php函式

幾個不常用,但是很有用的php函式

轉載地址:http://www.chinaz.com/program/2014/0128/337438.shtml

PHP裡有非常豐富的內建函式,很多我們都用過,但仍有很多的函式我們大部分人都不熟悉,可它們卻十分的有用。這篇文章裡,我列舉了一些鮮為人知但會讓你眼睛一亮的PHP函式。

levenshtein()

你有沒有經歷過需要知道兩個單詞有多大的不同的時候,這個函式就是來幫你解決這個問題的。它能比較出兩個字串的不同程度。

用法:

<?php

$str1 = "carrot";

$str2 = "carrrott";

echo levenshtein($str1, $str2); //Outputs 2

?>

Source: http://php.net/manual/en/function.levenshtein.php

get_defined_vars()

這是一個在debug除錯時非常有用的函式。這個函式返回一個多維陣列,裡面包含了所有定義過的變數。

用法:

<?php

print_r(get_defined_vars());

?>

Source: http://php.net/manual/en/function.get-defined-vars.php

php_check_syntax()

這個函式非常的有用,可以用來檢查PHP的語法是否正確。出於技術上的原因,從PHP 5.05開始,這個函式被刪除了。

用法:

<?php

$error_message = "";

$filename = "./php_script.php";

if(!php_check_syntax($filename, &$error_message)) {

echo "Errors were found in the file $filename: $error_message";

} else {

echo "The file $filename contained no syntax errors";

}

?>

Source: http://www.php.net/manual/en/function.php-check-syntax.php

ignore_user_abort()

這個函式用來拒絕瀏覽器端使用者終止執行指令碼的請求。正常情況下客戶端的退出會導致伺服器端指令碼停止執行。

用法:

<?php

ignore_user_abort();

?>

Source: http://www.php.net/manual/en/function.ignore-user-abort.php

highlight_string()

當你想把PHP程式碼顯示到頁面上時,highlight_string()函式就會顯得非常有用。這個函式會把你提供的PHP程式碼用內建的PHP語法突出顯示定義的顏色高亮顯示。這個函式有兩個引數,第一個引數是一個字串,表示這個字串需要被突出顯示。第二個引數如果設定成TRUE,這個函式就會把高亮後的程式碼當成返回值返回。

用法

<?php

highlight_string(' <?php phpinfo(); ?>');

?>

Source: http://php.net/manual/en/function.highlight-string.php

highlight_file

這是一個非常有用的PHP函式,它能返回指定的PHP檔案,並按照語法語義用高亮顏色突出顯示檔案內容。其中的突出顯示的程式碼都是用HTML標記處理過的。

用法:

<?php

highlight_file("php_script.php");

?>

Source: http://www.php.net/manual/en/function.highlight-file.php

php_strip_whitespace

這個函式也跟前面的show_source()函式相似,但它會刪除檔案裡的註釋和空格符。

用法:

<?php

echo php_strip_whitespace("php_script.php");

?>

Source: http://www.php.net/manual/en/function.php-strip-whitespace.php

get_browser

這個函式會讀取browscap.ini檔案,返回瀏覽器相容資訊。

用法:

<?php

echo $_SERVER['HTTP_USER_AGENT'];

$browser = get_browser();

print_r($browser);

?>

Source: http://www.php.net/manual/en/function.get-browser.php

memory_get_usage(),memory_get_peak_usage(),getrusage()

這些函式用來獲取記憶體和CPU使用情況,memory_get_usage()函式返回記憶體使用量,memory_get_peak_usage()函式返回記憶體使用峰值,getrusage()返回CUP使用情況,在除錯PHP程式碼效能時,這些函式會給你提供一些有用資訊。但有一點請注意,在這些函式中Window上無效。

用法:

<?php

echo "Initial: ".memory_get_usage()." bytes \n";

echo "Peak: ".memory_get_peak_usage()." bytes \n";

$data = getrusage();

echo "User time: ".

($data['ru_utime.tv_sec'] +

$data['ru_utime.tv_usec'] / 1000000);

echo "System time: ".

($data['ru_stime.tv_sec'] +

$data['ru_stime.tv_usec'] / 1000000);

?>

gzcompress(), gzuncompress()

這兩個函式用來壓縮和解壓字串資料。它們的壓縮率能達到50% 左右。另外的函式 gzencode() 和 gzdecode() 也能達到類似結果,但使用了不同的壓縮演算法。