一 在下面幾個程序應用中涉及到的函數php
1 substr(string,start,length)數組
(1)函數做用:返回字符串的一部分。 (2)參數介紹: string:必需。規定須要返回其中一部分的字符串,即原字符串。 start:必需。規定在字符串的何處開始。正數值,在字符串的指定位置開始(注:字符串的起始位置是0);負數值,從字符串結尾的指定位置開始(注:字符串的結束位置是-1); 0,在字符串中的第一個字符處開始。 length:可選。規定要返回的字符串長度。默認是直到字符串的結尾。正數值,從start參數所在的位置開始返回改長度的字符串;負數值,從start開始至該值以前的字符串 。
2 strrchr(string, char);函數
(1)函數的做用:查找字符串在另外一個字符串中最後一次出現的位置,並返回從該位置到字符串結尾的全部字符。若是查找失敗,則返回false (2)參數介紹: string:必需。規定被搜索的字符串。 char:必需。規定要查找的字符。若是該參數是數組,則搜索匹配數字ASCII值得字符。
3 strlen(string)rest
(1)函數的做用:返回字符串的長度 (2)參數的介紹: string:必需。規定要檢查的字符串。
4 is_numeric(mixed $var)code
(1)函數的做用:監測變量是否爲數字或數字字符串 (2)參數介紹: $var:若是var是數字或數字字符串則返回TRUE,不然返回FALSE。 (3)其餘判斷類型的函數:is_bool(), is_float(), is_int(), is_string(), is_object(), is_array()和is_integer().
2、應用示例展現orm
示例1:負值的start參數rem
<!-- lang: php --> <?php <!-- lang: php --> $rest = substr("abcdef", -1); <!-- lang: php --> echo $rest.'<br>'; <!-- lang: php --> $rest = substr("abcdef", -2); <!-- lang: php --> echo $rest.'<br>'; <!-- lang: php --> $rest = substr('abcdef', -3, 1); <!-- lang: php --> echo $rest.'<br>'; <!-- lang: php --> ?> 程序運行結果: f ef d
示例2:負值的length參數字符串
<!-- lang: php --> <?php <!-- lang: php --> $rest = substr("abcdef", 0, -1); <!-- lang: php --> echo $rest.'<br>'; <!-- lang: php --> $rest = substr("abcdef", 2, -1); <!-- lang: php --> echo $rest.'<br>'; <!-- lang: php --> $rest = substr("abcdef", 4, -4); <!-- lang: php --> echo $rest.'<br>'; <!-- lang: php --> $rest = substr("abcdef", -3, -1); <!-- lang: php --> echo $rest.'<br>'; <!-- lang: php --> ?> 程序運行結果: abcde cde de
示例3:基本的substr()函數用法string
<!-- lang: php --> <?php <!-- lang: php --> echo substr("abcdef", 1); <!-- lang: php --> echo '<br>'; <!-- lang: php --> echo substr("abcdef", 1, 3); <!-- lang: php --> echo '<br>'; <!-- lang: php --> echo substr("abcdef", 0, 4); <!-- lang: php --> echo '<br>'; <!-- lang: php --> echo substr("abcdef", 0 ,8); <!-- lang: php --> echo '<br>'; <!-- lang: php --> echo substr("abcdef", -1, 1); <!-- lang: php --> echo '<br>'; <!-- lang: php --> //Accessing single charecters in a string <!-- lang: php --> //can also be achieved using "square brackets" <!-- lang: php --> $string = 'abcdef'; <!-- lang: php --> echo $string[0]; <!-- lang: php --> echo '<br>' <!-- lang: php --> echo $string[3]; <!-- lang: php --> echo '<br>'; <!-- lang: php --> echo $string[strlen($string) - 1]; <!-- lang: php --> echo '<br>'; <!-- lang: php --> ?> 程序運行結果: bcdef bcd abcd abcdef f a d f
示例4:移除後綴it
<!-- lang: php --> <?php <!-- lang: php --> //removes string from the end of other <!-- lang: php --> function removeFormEnd($string, $stringToMove){ <!-- lang: php --> //得到須要移除的字符串的長度 <!-- lang: php --> $stringToRemoveLen = strlen($stringToMove); <!-- lang: php --> //獲取原始字符串的長度 <!-- lang: php --> $stringLen = strlen($string); <!-- lang: php --> <!-- lang: php --> //計算須要保留字符串的長度 <!-- lang: php --> $pos = $stringLen - $stringToRemoveLen; <!-- lang: php --> <!-- lang: php --> $out = substr($string, 0, $pos); <!-- lang: php --> return $out; <!-- lang: php --> } <!-- lang: php --> $string = 'nowamagic.jpg.jpg'; <!-- lang: php --> $result = removeFromEnd($string, '.jpg'); <!-- lang: php --> echo $result; <!-- lang: php --> ?> 程序運行結果: nowamagic.jpg
示例5:太長的字符串只顯示首尾,中間用省略號代替
<!-- lang: php --> <?php <!-- lang: php --> $file = "HelloThisFileHasMoreThan30CharactersAndThisFayl.exe"; <!-- lang: php --> function funclongwords($file){ <!-- lang: php --> if(strlen($file) > 30){ <!-- lang: php --> $vartypesf = strrchr($file, "."); <!-- lang: php --> //獲取搜索到的字符的字符串總長度 <!-- lang: php --> $vartypesf_len = strlen($vartypesf); <!-- lang: php --> //截取左邊15個字符 <!-- lang: php --> $word_l_w = substr($file, 0, 15); <!-- lang: php --> //截取右邊15個字符串 <!-- lang: php --> $word_r_w = substr($file, -15); <!-- lang: php --> $word_r_a = substr($word_r_w, 0, -$vartypesf_len); <!-- lang: php --> return $word_l_w."...".$word_r_a.$vartypesf; <!-- lang: php --> }else{ <!-- lang: php --> return $file; <!-- lang: php --> } <!-- lang: php --> } <!-- lang: php --> $result = funclongwords($file); <!-- lang: php --> echo $result; <!-- lang: php --> ?> 程序運行結果: HelloThisFileHa...AndThisFayl.exe
示例6:格式化字符串
<!-- lang: php --> <?php <!-- lang: php --> function str_format_number($string, $format){ <!-- lang: php --> if($format == '') return $string; <!-- lang: php --> if($string == '') return $string; <!-- lang: php --> $result = ''; <!-- lang: php --> $formatPos = 0; <!-- lang: php --> $stringPos = 0; <!-- lang: php --> while((strlen($format) -1) >= $formatPos){ <!-- lang: php --> //if it's a number => stores it <!-- lang: php --> if(is_numeric(substr($format, $formatPos,1))){ <!-- lang: php --> $result .= substr($string, $stringPos, 1); <!-- lang: php --> $stringPos++; <!-- lang: php --> //if it's not a number => stores the caracter <!-- lang: php --> }else{ <!-- lang: php --> $result .= substr($format, $formatPos, 1); <!-- lang: php --> } <!-- lang: php --> //Next caracter at the mask <!-- lang: php --> $formatPos++; <!-- lang: php --> } <!-- lang: php --> return $result; <!-- lang: php --> } <!-- lang: php --> //For the numbers at Buenos Aires, Argentina <!-- lang: php --> //Example 1: <!-- lang: php --> $string = "8607562337788"; <!-- lang: php --> $format = "+00 0000 0000000"; <!-- lang: php --> echo str_format_number($string, $format); <!-- lang: php --> echo '<br>'; <!-- lang: php --> //Example 2: <!-- lang: php --> $string = "8607562337788"; <!-- lang: php --> $format = "+00 0000 00.0000000"; <!-- lang: php --> echo str_format_number($string, $format); <!-- lang: php --> echo '<br>'; <!-- lang: php --> //Example 3: <!-- lang: php --> $string = "8607562337788"; <!-- lang: php --> $format = "+00 0000 00.000 a"; <!-- lang: php --> echo str_format_number($string, $format); <!-- lang: php --> echo '<br>'; <!-- lang: php --> ?> 運行結果: +86 0756 2337788 +86 0756 23.37788 +86 0756 23.377 a