PHP常用字符串函数小结
最近面試被這個面到吐血,特地來fork一些。
來源:https://www.jb51.net/article/145084.htm
?
一、判斷類型的函數(shù)
is_bool() //判斷是否為布爾型 is_float() //判斷是否為浮點型 is_real() //同上 is_int() //判斷是否為整型 is_integer() //同上 is_string() //判斷是否為字符串 is_object() //判斷是否為對象 is_array() //判斷是否為數(shù)組 is_null() //判斷是否為null is_file() //判斷是否為文件 is_dir() //判斷是否為目錄 is_numeric() //判斷是否為數(shù)字 is_nan() //判斷不是數(shù)字 is_resource() //判斷是否為資源類型 is_a($obj,$classname) //判斷對象是否為類的實例//可用 if($obj instanceof Classname)?
二、獲取子串位置
strpos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中首次出現(xiàn)的數(shù)字位置。//如果提供了此參數(shù),搜索會從字符串該字符數(shù)的起始位置開始統(tǒng)計。 如果是負數(shù),搜索會從字符串結尾指定字符數(shù)開始。 stripos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中首次出現(xiàn)的數(shù)字位置, 不區(qū)分大小寫。 strrpos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中最后一次出現(xiàn)的數(shù)字位置。 strripos($hs,$nd [,int $offset = 0 ]) //返回nd 在 hs 中最后一次出現(xiàn)的數(shù)字位置,不區(qū)分大小寫。
$str = 'helloword!!!hello'; echo strpos($str,'hello',1); //12 echo strpos($str,'hello'); //0 echo strpos($str,'ll',-5); //14
?
三、獲取子串
substr($str,$start [,$length]); //獲取子串 substr_compare($main_str,$str,$offset[,$length]); //子串比較 從offset處開始比較 substr_count($hs,$nd [,$offset=0 [,$length]]); //獲取子串nd在hs中出現(xiàn)的次數(shù) substr_replace($string,$replacement,$start [,$length]); //字符串子串替換//用$replacement替換掉$string從start開始長度為length的子串 strstr($hys,$nd [,bool $before_needle = false ]);//返回$nd在$hys 第一次出現(xiàn)的地方開始到字符串結束 為止的字符串//第三個參數(shù)如果為true 則返回$nd 之前的字符串 stristr($hys,$nd [,bool $before_needle = false ]); //同上,忽略大小寫版本 strrchr($hys,$nd); //返回$nd在$hys最后一次出現(xiàn)的地方開始到字符串結束 為止的字符串//一般和 substr(strrchr($hys,$nd),strlen($nd)); 合用 strpbrk($haystack,$char_list);//從$char_list中依次匹配單個字符在$haystack中第一次出現(xiàn)的地方//到字符串結束的地方 的整個字符串 strtok($str,$token); //第一次使用 將字符串按分隔符$token進行分割 strtok($token); //第二次使用eg.$string = "This is\tan example\nstring";/* 使用制表符和換行符作為分界符 */$tok = strtok($string, " \n\t");while ($tok !== false) {echo "Word=$tok<br />";$tok = strtok(" \n\t");}?
四、字符串str_ 型函數(shù)
str_getcsv($str); //將csv文件字符串轉換成一個數(shù)組 str_replace($search,$replace,$subject [,&$count]);//搜索并替換字符串//第四個參數(shù)被指定的話,將會賦值給他替換的次數(shù) str_ireplace($search,$replace,$subject [,&$count]);//搜索并替換字符串//第四個參數(shù)被指定的話,將會賦值給他替換的次數(shù) 忽略大小寫 str_shuffle(string $str);//隨機打亂字符串 str_split($str [,$len=1]);//將字符串轉換成一個數(shù)組//,每個數(shù)組單元的長度為$len?
五、字符串長度
strlen($str); //字符串長度
?
六、翻轉字符串
strrev(string $string);// 翻轉字符串
?
七、mb_類型字符串函數(shù)
mb_類型字符串與上述字符串函數(shù)基本一樣,
只是加多一個可選的字符編碼參數(shù),用法同上
?
八、字符串的相關操作
1、轉換字符串類型
strval($str); //轉換成字符串類型 floatval($str);//轉換成浮點型 intval($str); //轉換成整型2、大小寫轉換
strtolower($str); //全部轉換成小寫 strtoupper($str); //全部轉換成大寫3、字符串轉時間戳
strtotime($str); //時間格式的字符串轉換成整型時間戳//注意設置時區(qū) 否則會有 8小時誤差4、去除HTML 和 PHP 標記
strip_tags($str [,$tags]);//去除不含$tags里標簽外的所有標簽5、ascii轉數(shù)字 數(shù)字轉ascii
chr(int $ascii); //數(shù)字轉換成ascii ord(string $str); //返回$str第一個字符的ascii值6、json的編碼與解碼
json_encode($obj/$arr/$str...);//編碼成json 格式的字符串 json_decode($jsonstr [,$assoc=true]); //解碼成對象//當$assoc=true 時 返回數(shù)組 而非對象7、換行轉<br/>
| 1 | nl2br($str); //字符串 $str 所有新行之前插入'<br/>' |
8、數(shù)組轉字符串,字符串轉數(shù)組
| 1 2 | implode($arr,$glue);//將一維數(shù)組轉換為字符串 explode();//字符串轉換為數(shù)組 |
9、千位分割格式化
| 1 2 3 4 5 6 | string number_format ( float $number [, int $decimals = 0 ] ) string number_format ( float $number , int $decimals = 0 , string $dec_point = '.' , string $thousands_sep = ',' ) ?@param? $number 你要格式化的數(shù)字 ?????$decimals 要保留的小數(shù)位數(shù) ?????$dec_point 指定小數(shù)點顯示的字符 ?????$thousands_sep 指定千位分隔符顯示的字符 |
10、去空格
| 1 2 3 | trim(string $str [,string $charlist ]); //去左右字符 ltrim(string $str [,string $charlist ]); //去左字符 rtrim(string $str [,string $charlist ]); //去右字符 |
該函數(shù)刪除 str 末端的空白字符并返回。
不使用第二個參數(shù), rtrim() 僅刪除以下字符:?
? " " (ASCII 32 (0x20)),普通空白符。?
? "\t" (ASCII 9 (0x09)),制表符。?
? "\n" (ASCII 10 (0x0A)),換行符。?
? "\r" (ASCII 13 (0x0D)),回車符。?
? "\0" (ASCII 0 (0x00)),NUL 空字節(jié)符。?
? "\x0B" (ASCII 11 (0x0B)),垂直制表符。?
過濾字符也可由 charlist 參數(shù)指定。一般要列出所有希望過濾的字符,
也可以使用 ".." 列出一個字符范圍
11、轉換字符串編碼函數(shù)
| 1 2 3 | iconv($in_charset, $out_charset, $str); $in_charset輸入字符集 $out_charset輸出字符集 |
12、字符串加密函數(shù)
| 1 2 | sha1($str); md5($str); |
13、字符串轉義與反轉義函數(shù)
| 1 2 3 4 5 6 | addcslashes(string $str , string $charlist);//轉義字符串中的特殊字符 ????????//eg. addcslashes($str,"\0..\37!@\177..\377"); ??????????????//轉義ascii 中0-37、177-377中不含@符號的字符 ?? stripcslashes($str) — 反轉義addcslashes()函數(shù)轉義處理過的字符串 ?返回反轉義后的字符串。可識別類似 C 語言的 \n,\r,... 八進制以及十六進制的描述 |
14、按格式返回數(shù)據(jù)
| 1 2 3 4 5 6 7 8 9 10 | sprintf — 按照要求對數(shù)據(jù)進行返回,但是不輸出 ????可表示類型如下: ????string s ????integer d, u, c, o, x, X, b ????double g, G, e, E, f, F ????eg. ????$num = 5; ????$location = 'tree'; ????$format = 'There are %d monkeys in the %s'; ????echo sprintf($format, $num, $location); |
轉載于:https://www.cnblogs.com/izch/p/10702408.html
總結
以上是生活随笔為你收集整理的PHP常用字符串函数小结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Centos7.5 Ambari2.7.
- 下一篇: phper必知必会之类库自动加载的七种方