這篇文章主要介紹了7個鮮為人知卻非常實用的PHP函數,本文總結了如highlight_string()、str_word_count()、levenshtein()、get_defined_vars()、escapeshellcmd()等非常有用但不常見的函數,需要的朋友可以參考下
概述
PHP有著眾多的內置函數,其中大多數函數都被開發者廣發使用。但也有一些同樣有用卻被遺忘在角落,本文將介紹7個鮮為人知功能卻非常酷的函數。
highlight_string()
當需要在網頁中展示PHP代碼時,highlight_string()函數就顯得非常有用。該函數通過PHP內置定義的顏色,返回函數中代碼的高亮顯示版本。
代碼如下:
highlight_string('');
echo highlight_string('',true);
?>
str_word_count()
這個函數可以方便的將輸入的字符串參數中的單詞個數返回。
代碼如下:
$str = "hello world";
echo str_word_count($str); //輸出 2
?>
levenshtein()
該函數可以方便的返回兩個參數之間的levenshtein(編輯距離)。曾經遇到過一個需求,用戶在編輯身份證的時候,限制用戶只能修改4位數字,使用的就是這個函數。
代碼如下:
$idcard='230406198506206797';
$newIdcard='230406198506207798';
echo levenshtein($idcard,$newIdcard); //輸出 2
?>
get_defined_vars()
這個函數在調試程序的時候非常有用,它會返回包含所有已定義變量的數組,其中包含環境、系統以及用戶自定義變量。
代碼如下:
var_dump(get_defined_vars());
?>
escapeshellcmd()
該函數用來跳過字符串中的特殊符號,防止惡意用戶耍花招破解服務器系統。可以搭配exec()與system()函數使用。
代碼如下:
$command = './configure '.$_POST['configure_options'];
$escaped_command = escapeshellcmd($command);
system($escaped_command);
?>
checkdate()
該函數可以用來檢測日期參數的有效性。它可以驗證輸入的每一個參數的合法性。
代碼如下:
var_dump(checkdate(12, 31, 2000));
var_dump(checkdate(2, 29, 2001));
//輸出
//bool(true)
//bool(false)
?>
php_strip_whitespace()
該函數會返回刪除了注釋與空格後的PHP源碼。這對實際代碼數量和注釋數量的對比很有用。
代碼如下:
// 注釋1
/*
* 注釋2
*/
echo php_strip_whitespace(__FILE__);
do_nothing();
?>