php指令碼函式,PHP中鮮為人知的10個函式

2021-10-25 21:49:09 字數 3208 閱讀 3250

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

levenshtein()

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

用法:$str1 = "carrot";

$str2 = "carrrott";

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

get_defined_vars()

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

用法:print_r(get_defined_vars());

php_check_syntax()

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

用法:$error_message = "";

$filename = "./php_script.php";

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

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

ignore_user_abort()

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

用法:ignore_user_abort();

highlight_string()

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

用法:highlight_string('<?php phpinfo(); ?>');

highlight_file

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

用法:highlight_file("php_script.php");

php_strip_whitespace

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

用法:echo php_strip_whitespace("php_script.php");

get_browser

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

用法:echo $_server['http_user_agent'];

$browser = get_browser();

print_r($browser);

memory_get_usage(),memory_get_peak_usage(),getrusage()

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

用法: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() 也能達到類似結果,但使用了不同的壓縮演算法。

用法:$string =

"lorem ipsum dolor sit amet, consectetur

adipiscing elit. nunc ut elit id mi ultricies

adipiscing. nulla facilisi. praesent pulvinar,

sapien vel feugiat vestibulum, nulla dui pretium orci,

non ultricies elit lacus quis ante. lorem ipsum dolor

sit amet, consectetur adipiscing elit. aliquam

pretium ullamcorper urna quis iaculis. etiam ac massa

sed turpis tempor luctus. curabitur sed nibh eu elit

mollis congue. praesent ipsum diam, consectetur vitae

ornare a, aliquam a nunc. in id magna pellentesque

tellus posuere adipiscing. sed non mi metus, at lacinia

augue. sed magna nisi, ornare in mollis in, mollis

sed nunc. etiam at justo in leo congue mollis.

nullam in neque eget metus hendrerit scelerisque

eu non enim. ut malesuada lacus eu nulla bibendum

id euismod urna sodales. ";

$compressed = gzcompress($string);

$original = gzuncompress($compressed);

PHP中鮮為人知的10個函式

php裡有非常豐富的內建函式,很多我們都用過,但仍有很多的函式我們大部分人都不熟悉,可它們卻十分的有用。這篇文章裡,我列舉了一些鮮為人知但會讓你眼睛一亮的php函式。levenshtein 你有沒有經歷過需要知道兩個單詞有多大的不同的時候,這個函式就是來幫你解決這個問題的。它能比較出兩個字串的不同程...

鮮為人知的oracle函式命令

where 1 1 就是個恒等式,為了讓後面的sql語句成立,比如接and decode parentid,null,0 parentid 的意思是如果parentid null,返回0,否則返回parentid union指令的目的是將兩個sql語句的結果合併起來.從這個角度看,union跟joi...

PHP裡10個鮮為人知但卻非常有用的函式

posted in 技術技巧 php裡有非常豐富的內建函式,很多我們都用過,但仍有很多的函式我們大部分人都不熟悉,可它們卻十分的有用。這篇文章裡,我列舉了一些鮮為人知但會讓你眼睛一亮的php函式。你有沒有經歷過需要知道兩個單詞有多大的不同的時候,這個函式就是來幫你解決這個問題的。它能比較出兩個字串的...