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