這篇文章主要介紹了7個鮮為人知卻非常實用的PHP函數,本文總結了如highlight_string()、str_word_count()、levenshtein()、get_defined_vars()、escapeshellcmd()等非常有用但不常見的函數,需要的朋友可以參考下
概述
PHP有著眾多的內置函數,其中大多數函數都被開發者廣發使用。但也有一些同樣有用卻被遺忘在角落,本文將介紹7個鮮為人知功能卻非??岬暮瘮怠?/p>
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();
- ?>
新聞熱點
疑難解答