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