字符串的格式化html
rtrim(),除字符串右端的空白字符或其餘預約義字符java
ltrim(),刪除字符串開頭空格或者預約的其它字符laravel
trim(),此函數返回字符串 str 去除首尾空白字符後的結果git
格式化字符串以便輸出github
nl2br(),在字符串全部新行以前插入 HTML 換行標記算法
printf(),輸出格式化字符串api
sprintf(),把格式化的字符串寫入變量中數組
改變字符串的字母大小寫安全
strtoupper(),將字符串轉換爲大寫
strtolower(),將字符串轉化爲小寫
ucfirst(),將字符串中的第一個單詞的首字母轉化爲大寫
ucwords(),將字符串中的每個單詞的首字母轉化爲大寫
格式化字符串以便存儲
addslashes(),使用反斜線引用字符串
stripslashes(),反引用一個引用字符串
鏈接、分割字符串
explode(),使用一個字符串分割另外一個字符串
implode(),將一個一維數組的值轉化爲字符串;別名:join()
stroke(),標記分割字符串
substr(),返回字符串的子串
字符串的排序
strcmp(),二進制安全字符串比較,區分大小寫
strcasecmp(),二進制安全比較字符串(不區分大小寫)
strnatcmp(),使用天然排序算法比較字符串
測試字符串長度
strlen(),返回字符串長度
字符串中查找字符串
strstr(),查找字符串的首次出現,別名:strchr().
strchr(),strstr()的別名.
strrchr(),查找指定字符在字符串中的最後一次出現.
stristr(),strstr() 函數的忽略大小寫版本
查找字符串的位置
strpos(),查找字符串首次出現的位置
strrpos(),計算指定字符串在目標字符串中最後一次出現的位置
替換子字符串
str_replace(),搜索目標字符串,並替換字符串.
substr_replace(),肯定要替換的字符串位置,替換字符串的子串.
除字符串右端的空白字符或其餘預約義字符
chop(string,charlist)
string:必需。規定要檢查的字符串。
charlist:可選。規定從字符串中刪除哪些字符
若是 charlist 參數爲空,則移除如下字符:
"0" - NULL
"t" - 製表符
"n" - 換行
"x0B" - 垂直製表符
"r" - 回車
" " - 空格
函數示例:
function funcChop() { $str = "Hello YLD!"; echo $str . "<br>"; echo chop($str,"YLD!"). "<br>"; echo rtrim($str,"YLD!")."<br>";//chop()是此函數的別名,能夠理解爲小名。 }
輸出:
Hello YLD! Hello Hello
刪除字符串開頭空格或者預約的其它字符
ltrim(string,charlist)
string,必需。規定要轉換的字符串。
charlist,可選。規定從字符串中刪除哪些字符。
若是未設置該參數,則所有刪除如下字符
"0" - ASCII 0, NULL
"t" - ASCII 9, 製表符
"n" - ASCII 10, 新行
"x0B" - ASCII 11, 垂直製表符
"r" - ASCII 13, 回車
" " - ASCII 32, 空格
函數示例:
function funcLtrim() { $str = "~Hello small yellow luo"; echo $str."<br>"; echo ltrim($str,"~Hello")."<br>"; echo ltrim($str,"~he")."<br>";//區分大小寫的;字符串必須連貫 echo ltrim($str,"ll")."<br>";//必須從左側第一個字符開始; }
輸出:
~Hello small yellow luo small yellow luo Hello small yellow luo ~Hello small yellow luo
此函數返回字符串 str 去除首尾空白字符後的結果。
ltrim(string,charlist)
string,必需。規定要轉換的字符串。
charlist,可選。規定從字符串中刪除哪些字符。<br/>
若是未設置該參數,則所有刪除如下字符<br/> "\0" - ASCII 0, NULL<br/> "\t" - ASCII 9, 製表符<br/> "\n" - ASCII 10, 新行<br/> "\x0B" - ASCII 11, 垂直製表符<br/> "\r" - ASCII 13, 回車<br/> " " - ASCII 32, 空格<br/>
函數示例:
funcTrim() {
$question = " 0 what's up? r";
$answer = " no";
var_dump($question.$answer);
var_dump(trim($question).trim($answer));
}
輸出:
string(18) " what's up? no" string(12) "what's up?no" //注意字符串的個數變化
在字符串全部新行以前插入 HTML 換行標記.
在字符串 string 全部新行以前插入<br />
或 <br>
,並返回。
string nl2br ( string $string [, bool $is_xhtml = true ] )
string,輸入字符串
is_xhtml,是否使用 XHTML 兼容換行符
函數示例:
function funcNl2br() { echo nl2br("luo is \n ugly \r\n"); $string = "Small\r\nYellow\n\rLuo\nis\rstupid"; echo nl2br($string,false);//注意輸出換行 }
輸出:
luo is ugly Small Yellow Luo is stupid
輸出格式化字符串
printf ( string $format [, mixed $args [, mixed $... ]] )
函數示例:
function funcPrintf() { //與java中格式化輸出同樣 printf('I need to pay $%.02lf',1.3568); echo "<br>"; $goodevil = array('good', 'evil'); //巧用printf printf_array('There is a difference between %s and %s', $goodevil); } function printf_array($format, $arr) { //回調printf函數 return call_user_func_array('printf', array_merge((array)$format, $arr)); }
輸出:
I need to pay $1.36 There is a difference between good and evil
sprintf() 函數把格式化的字符串寫入變量中。
sprintf(format,arg1,arg2,arg++)
format,必需。規定字符串以及如何格式化其中的變量。可能的格式值:
%% - 返回一個百分號 %
%b - 二進制數
%c - ASCII 值對應的字符
%d - 包含正負號的十進制數(負數、0、正數)
%e - 使用小寫的科學計數法(例如 1.2e+2)
%E - 使用大寫的科學計數法(例如 1.2E+2)
%u - 不包含正負號的十進制數(大於等於 0)
%f - 浮點數(本地設置)
%F - 浮點數(非本地設置)
%g - 較短的 %e 和 %f
%G - 較短的 %E 和 %f
%o - 八進制數
%s - 字符串
%x - 十六進制數(小寫字母)
%X - 十六進制數(大寫字母
arg1,必需。規定插到 format 字符串中第一個 % 符號處的參數。
arg2,可選。規定插到 format 字符串中第二個 % 符號處的參數。
arg++,可選。規定插到 format 字符串中第3、四等 % 符號處的參數。
函數示例:
function funcSprintf() { $number = 2; $location = "HangZhou"; //與printf相比,只有格式化的功能,沒有打印的功能 $text = sprintf("I have %u friends in %s",$number,$location); echo $text; }
輸出:
I have 2 friends in HangZhou
note:若是想要1.2
輸出1.20
,可採用此函數。
將字符串轉換爲大寫
string strtoupper ( string $string )
函數示例:
function funcStrtoupper() { $str = "i want to become upper"; echo $str."<br>"; $str = strtoupper($str); echo $str; }
輸出:
i want to become upper I WANT TO BECOME UPPER
將字符串轉化爲小寫
string strtolower() ( string $string )
函數示例:
function funcStrtolower() { $str = "I WANT TO BECOME LOWER"; echo $str."<br>"; $str = strtolower($str); echo $str; }
輸出:
I WANT TO BECOME LOWER i want to become lower
將字符串中的第一個單詞的首字母轉化爲大寫
string ucfirst() ( string $string )
函數示例:
function funcUcfirst() { //upper capitalize first的縮寫,maybe $str = "i want to become upper"; echo $str."<br>"; $str = ucfirst($str); echo $str."<br>"; // note:只有第一個單詞的首字母大寫了哦 }
輸出:
i want to become upper I want to become upper
將字符串中的每個單詞的首字母轉化爲大寫
string ucwords() ( string $string )
函數示例:
function funcUcwords() { $str = "yld want to become upper"; echo $str."<br>"; $str = ucwords($str); echo $str."<br>"; //note:每一個單詞的首字母都變成大寫了哦 }
輸出:
yld want to become upper Yld Want To Become Upper
使用反斜線引用字符串
string addslashes ( string $str )
函數示例:
function funcAddslashes() { //add slashes 添加反斜槓 $str = 'Hi Y"LD '; $str = addslashes($str); echo $str."<br>"; $str_one = "Hi Y'LD"; $str_one = addslashes($str_one); echo $str_one."<br>"; //var_dump(get_magic_quotes_gpc($str_one)); //默認地,PHP 對全部的 GET、POST 和 COOKIE 數據自動運行 addslashes()。 //因此您不該對已轉義過的字符串使用 addslashes(),由於這樣會致使雙層轉義。 //遇到這種狀況時可使用函數 get_magic_quotes_gpc() 進行檢測。 var_dump(get_magic_quotes_gpc()); }
輸出:
Hi Y\"LD Hi Y\'LD bool(false)
反引用一個引用字符串
string stripslashes ( string $str )
函數示例:
function funcStripslashes() { //反引用一個引用字符串 $str = "Hi Y\'LD"; echo stripslashes($str); }
輸出:
Hi Y'LD
使用一個字符串分割另外一個字符串
array explode ( string $delimiter , string $string [, int $limit ] )
delimiter 邊界上的分隔字符。
string 輸入的字符串。
limit 若是設置了limit參數而且是正數,則返回的數組包含最多limit個元素,而最後那個元素將包含 string 的剩餘部分。
若是 limit 參數是負數,則返回除了最後的 -limit 個元素外的全部元素。
若是 limit 是 0,則會被當作 1。
函數示例:
function funcExplode() { $str = 'one|two||three|four'; // 默認輸出 print_r(explode('|',$str)); // 正數的 limit note:three和four成爲了同一個字符串 print_r(explode('|', $str, 4)); // 負數的 limit(自 PHP 5.1 起) note:four沒有被輸出 print_r(explode('|', $str, -1)); }
輸出:
Array ( [0] => one [1] => two [2] => [3] => three [4] => four ) Array ( [0] => one [1] => two [2] => [3] => three|four ) Array ( [0] => one [1] => two [2] => [3] => three )
將一個一維數組的值轉化爲字符串;別名:join()
string implode ( string $glue , array $pieces )
glue 默認爲空的字符串
pieces 你想要轉換的數組
函數示例:
function funcImplode() { $arr = array('one-dimensional','array','values','can','be','converted','to','string'); $arr = implode(' ',$arr); print_r($arr); }
輸出:
one-dimensional array values can be converted to string
標記分割字符串
string strtok ( string $str , string $token )
str 被分紅若干子字符串的原始字符串
token 分割 str 時使用的分界字符
note:此函數可能返回布爾值 FALSE,但也可能返回等同於 FALSE 的非布爾值。應使用===運算符來測試返回值
函數示例:
function funcStrtok() { $str = "I \nlove \tlaravel"; $tok = strtok($str,"\n\t"); while ($tok !== false) { echo "Word=$tok<br />"; $tok = strtok(" \n\t"); } }
輸出:
Word=I Word=love Word=laravel
返回字符串的子串
string substr ( string $string , int $start [, int $length ] )
string 輸入字符串。必須至少有一個字符
start
若是 start>0,返回的字符串將從 string 的 start 位置開始,從 0 開始計算
若是 start<0,返回的字符串將從 string 結尾處向前數第 start 個字符開始
若是 string 的長度小於 start,將返回 FALSE
length
若是length>0,返回的字符串將從 start 處開始最多包括 length 個字符(取決於 string 的長度)。
若是length<0,那麼 string 末尾處的許多字符將會被漏掉(若 start 是負數則從字符串尾部算起)。若是 start 不在這段文本中,那麼將返回一個空字符串。
若是length=0,FALSE 或 NULL 的 length,那麼將返回一個空字符串。
若是沒有提供 length,返回的子字符串將從 start 位置開始直到字符串結尾。
函數示例:
function funcSubstr() { $str = 'abcdefg'; echo 'str: ';var_dump($str); echo 'start=1: ';var_dump(substr($str,1)); echo 'start=1 length=-1: ';var_dump(substr($str,1,-1)); echo 'start=1 length=0: ';var_dump(substr($str,1,0)); echo 'start=1 length=2: ';var_dump(substr($str,1,2)); echo 'start=3 length=9>count($str): ';var_dump(substr($str,3,9)); echo 'start=8: ';var_dump(substr($str,8)); echo 'start=-3: ';var_dump(substr($str,-3)); echo 'start=-1 length=-4: ';var_dump(substr($str,-1,-4)); echo 'start=-3 length=2: ';var_dump(substr($str,-3,2)); }
輸出:
str: string(7) "abcdefg" start=1: string(6) "bcdefg" start=1 length=-1: string(5) "bcdef" start=1 length=0: string(0) "" start=1 length=2: string(2) "bc" start=3 length=9>count($str): string(4) "defg" start=8: bool(false) start=-3: string(3) "efg" start=-1 length=-4: string(0) "" start=-3 length=2: string(2) "ef"
二進制安全字符串比較,區分大小寫
int strcmp ( string $str1 , string $str2 )
返回值,若是 str1 小於 str2 返回 < 0; 若是 str1 大於 str2 返回 > 0;若是二者相等,返回 0。
函數示例:
function funcStrcmp() { var_dump(strcmp('hi','hi')); var_dump(strcmp('Hi','hi')); var_dump(strcmp('hi','Hi')); }
輸出:
int(0) int(-32) int(32)
二進制安全比較字符串(不區分大小寫)
int strcmp ( string $str1 , string $str2 )
返回值,若是 str1 小於 str2 返回 < 0; 若是 str1 大於 str2 返回 > 0;若是二者相等,返回 0。
函數示例:
function funcStrcasecmp() { var_dump(strcmp('hi','hi')); var_dump(strcmp('hi','Hi')); var_dump(strcmp('hi','Hh')); }
輸出:
int(0) int(32) int(32)
使用天然排序算法比較字符串
int strnatcmp ( string $str1 , string $str2 )
返回值,若是 str1 小於 str2 返回 < 0; 若是 str1 大於 str2 返回 > 0;若是二者相等,返回 0。
函數示例:
function funcStrnatcmp() { $arr1 = $arr2 = array("img12.png", "img10.png", "img2.png", "img1.png"); echo "標準字符串比較\n"; usort($arr1, "strcmp"); print_r($arr1); echo "\n天然秩序的字符串比較\n"; usort($arr2, "strnatcmp"); print_r($arr2); }
輸出:
標準字符串比較 Array ( [0] => img1.png [1] => img10.png [2] => img12.png [3] => img2.png ) 天然秩序的字符串比較 Array ( [0] => img1.png [1] => img2.png [2] => img10.png [3] => img12.png )
返回字符串長度
int strlen ( string $string )
函數示例:
function funcstrlen() { $str = 'how long is my leg'; var_dump($str); var_dump(strlen($str)); }
輸出:
string(18) "how long is my leg" int(18)
查找字符串的首次出現
string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
函數示例:
function funcStrstr() { $email = 'name@example.com'; $domain = strstr($email, '@'); var_dump($domain); // 打印 @example.com $user = strstr($email, '@', true); // 從 PHP 5.3.0 起 var_dump($user); // 打印 name }
輸出:
string(12) "@example.com" string(4) "name"
strstr() 函數的忽略大小寫版本,用法同上.
查找指定字符在字符串中的最後一次出現
string strrchr ( string $haystack , mixed $needle )
函數示例:
function funcStrrchr() { $path = '/www/public_html/index.html'; var_dump(strrchr($path, "/")); $filename = substr(strrchr($path, "/"), 1); var_dump($filename); }
輸出:
string(11) "/index.html" string(10) "index.html"
查找字符串首次出現的位置
int strpos ( string $haystack , string $needle [, int $offset = 0 ] )
函數示例:
function funcStrpos() { $string = "hello hello hello hello"; $find = "e"; // e的位置是一、七、1三、19 var_dump(strpos($string, $find, 1));//從開始數,第1個位置開始查找 var_dump(strpos($string, $find, 3));//從開始數,第3個位置開始查找 var_dump(strpos($string, $find, 8));//從開始數,第8個位置開始查找 }
輸出:
int(1) int(7) int(13)
計算指定字符串在目標字符串中最後一次出現的位置
int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )
函數示例:
function funcStrrpos() { $string = "hello hello hello hello"; $find = "e"; var_dump(strrpos($string, $find)); var_dump(strrpos($string, $find, -5));//從末尾數,第5個位置開始查找 var_dump(strrpos($string, $find, -23));// }
輸出:
int(19) int(13) bool(false)
搜索目標字符串,並替換字符串
mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )
search,查找的目標值,能夠是字符串,也能夠是一維數組
replace,search 的替換值,能夠是字符串,也能夠是一維數組
subject,執行替換的字符串或者數組,能夠是字符串,也能夠是一維數組
count,只容許是一個variables。是執行替換的次數
函數示例:
function funcStrReplace() { //search replace 都爲數組 且replace的值少於search的值 // 多餘的替換會使用空字符 $phrase = "You should eat fruits, vegetables, and fiber every day."; $healthy = array("fruits", "vegetables", "fiber"); $yummy = array("pizza", "beer"); $newphrase = str_replace($healthy, $yummy, $phrase); var_dump($newphrase); //search replace 都爲字符串 $str = str_replace("ll", "", "good golly miss molly!", $count); var_dump($str); var_dump($count); // 輸出 F ,由於 A 被 B 替換,B 又被 C 替換,以此類推... // 因爲從左到右依次替換,最終 E 被 F 替換 $search = array('A', 'B', 'C', 'D', 'E'); $replace = array('B', 'C', 'D', 'E', 'F'); $subject = 'A'; var_dump(str_replace($search, $replace, $subject)); // 輸出: apearpearle pear // 因爲上面提到的緣由 $letters = array('a', 'p'); $fruit = array('apple', 'pear'); $text = 'a p'; $output = str_replace($letters, $fruit, $text); var_dump($output); }
輸出:
string(43) "You should eat pizza, beer, and every day." string(18) "good goy miss moy!" int(2) string(1) "F" string(16) "apearpearle pear"
肯定要替換的字符串位置,替換字符串的子串
mixed substr_replace ( mixed $string , mixed $replacement , mixed $start [, mixed $length ] )
string,輸入的字符串
replacement,替換字符串
start,字符串開始位置
length,
正數,表示 string 中被替換的子字符串的長度
負數,它表示待替換的子字符串結尾處距離 string 末端的字符個數
函數示例:
function funcSubstrReplace() { $str = "Hello,YLD.Would you like eat something?"; $replace = "Hi"; var_dump(substr_replace($str,$replace,0)); var_dump(substr_replace($str,$replace,0,5)); var_dump(substr_replace($str,$replace,0,-7)); }
輸出:
string(2) "Hi" string(36) "Hi,YLD.Would you like eat something?" string(9) "Hiething?"