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