七個(gè)很有意思的PHP函數(shù)
PHP有許多內(nèi)置函數(shù),其中大多數(shù)函數(shù)都被程序員廣泛使用。但也有一些函數(shù)隱藏在角落,本文將向大家介紹7個(gè)鮮為人知,但用處非常大的函數(shù)。 沒用過的程序員不妨過來(lái)看看。
1.highlight_string()
當(dāng)需要在一個(gè)網(wǎng)站中展示PHP代碼時(shí),highlight_string()函數(shù)就變的非常有用了。該函數(shù)通過使用PHP語(yǔ)法高亮程序中定義的顏色,輸出或返回給定的PHP代碼的語(yǔ)法高亮版本。
示例:
highlight_string('<?php phpinfo(); ?>');
?>
2.str_word_count()
該函數(shù)必須要傳遞一個(gè)參數(shù),根據(jù)參數(shù)類型返回單詞的個(gè)數(shù)。如下面的所示:
$str = "How many words do I have?";
echo str_word_count($str); //Outputs 6
?>
3.levenshtein()
該函數(shù)主要返回兩個(gè)字符串之間的Levenshtein距離。Levenshtein 距離,又稱編輯距離,指的是兩個(gè)字符串之間,由一個(gè)轉(zhuǎn)換成另一個(gè)所需的最少編輯操作次數(shù)。許可的編輯操作包括將一個(gè)字符替換成另一個(gè)字符,插入一個(gè)字符,刪除一個(gè)字符。該函數(shù)對(duì)查找用戶所提交的錯(cuò)別字非常有用。
示例:
$str1 = "carrot";
$str2 = "carrrott";
echo levenshtein($str1, $str2); //Outputs 2
?>
4.get_defined_vars()
該函數(shù)返回一個(gè)包含所有已定義變量列表的多維數(shù)組,這些變量包括環(huán)境變量、服務(wù)器變量和用戶定義的變量。
示例:
5.escapeshellcmd()
該函數(shù)用來(lái)避開字符串中的特殊符號(hào),可以防止使用者耍花招來(lái)破解服務(wù)器系統(tǒng)??梢杂帽竞瘮?shù)搭配exec() 或是system() 二個(gè)函數(shù),這樣可以減少網(wǎng)上使用者的惡意破壞行為。
示例:
$command = './configure '.$_POST['configure_options'];
$escaped_command = escapeshellcmd($command);
system($escaped_command);
?>
6.checkdate()
本函數(shù)可以用來(lái)檢查日期是否有效,例如年為0至32767年、月為1至12月、日則隨著月份及閏年變化。
示例:
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
//Output
//bool(true)
//bool(false)
?>
7.php_strip_whitespace()
該函數(shù)可以返回已刪除PHP注釋以及空白字符的源代碼文件,這對(duì)實(shí)際代碼數(shù)量和注釋數(shù)量的對(duì)比很有用。
示例:
// PHP comment here
/*
* Another PHP comment
*/
echo php_strip_whitespace(__FILE__);
// Newlines are considered whitespace, and are removed too:
do_nothing();
//動(dòng)手試試輸出的結(jié)果
echo php_strip_whitespace(__FILE__); do_nothing();
?>
相關(guān)文章
javascript 獲取多條數(shù)據(jù)(模擬ajax獲取數(shù)據(jù))
javascript 獲取多條數(shù)據(jù)(模擬ajax獲取數(shù)據(jù)),這樣的好處不用額外的ajax讀取鏈接,減輕服務(wù)器負(fù)擔(dān)。2009-06-06詳解使用fetch發(fā)送post請(qǐng)求時(shí)的參數(shù)處理
這篇文章主要介紹了詳解使用fetch發(fā)送post請(qǐng)求時(shí)的參數(shù)處理的相關(guān)資料,需要的朋友可以參考下2017-04-04JavaScript ES5標(biāo)準(zhǔn)中新增的Array方法
這篇文章主要介紹了JavaScript ES5標(biāo)準(zhǔn)中新增的Array方法 的相關(guān)資料,需要的朋友可以參考下2016-06-06原生js實(shí)現(xiàn)對(duì)Ajax的封裝(仿jquery)
這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)對(duì)Ajax的封裝,模仿jquery,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01讓iframe框架網(wǎng)頁(yè)在任何瀏覽器下自動(dòng)伸縮
很多朋友都在使用iframe中遇到過不能自動(dòng)隨頁(yè)面伸縮,特別是動(dòng)態(tài)讀取頁(yè)面的時(shí)候,會(huì)出現(xiàn)滾動(dòng)條,影響美觀,今天研究一下了,發(fā)現(xiàn)了一個(gè)簡(jiǎn)單解決的辦法,可以在IE,F(xiàn)IREFOX,OPERA下使用2006-08-08