字符串是字符序列,比如 "Hello world!"。
PHP 字符串函數
在本節中,我們將學習常用的字符串操作函數。
PHP strlen() 函數
strlen() 函數返回字符串的長度,以字符計。
下例返回字符串 "Hello world!" 的長度:
實例
<? php echo strlen ("Hello world!" ); ?>
運行實例
以上代碼的輸出是:12
提示:strlen() 常用于循環和其他函數,在確定字符串何時結束很重要時。(例如,在循環中,我們也許需要在字符串的最后一個字符之后停止循環)。
PHP strpos() 函數
strpos() 函數用于檢索字符串內指定的字符或文本。
如果找到匹配,則會返回首個匹配的字符位置。如果未找到匹配,則將返回 FALSE。
下例檢索字符串 "Hello world!" 中的文本 "world":
實例
<? php echo strpos ("Hello world!","world" ); ?>
運行實例
以上代碼的輸出是:6。
提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。
PHP addcslashes()函數
定義和用法
addcslashes() 函數在指定的字符前添加反斜杠。
語法
addcslashes(string,characters)
參數 描述
string 必需。規定要檢查的字符串。
characters 可選。規定受 addcslashes() 影響的字符或字符范圍。
提示和注釋
注釋:在對 0,r,n 和 t 應用 addcslashes() 時要小心。在 PHP 中,\0,\r,\n 和 \t 是預定義的轉義序列。
例子 1
$str = "Hello World!" ; echo $str ; $str = addcslashes ( $str , 'a..z' ); $str = addcslashes ( $str , 'A..Z' ); echo "</br>" ; echo $str ;
Hello World!
\H\e\l\l\o \W\o\r\l\d!
PHP addslashes() 函數
定義和用法
addslashes() 函數在指定的預定義字符前添加反斜杠。
這些預定義字符是:
單引號 (')
雙引號 (")
反斜杠 (\)
NULL
語法
addslashes(string)
參數 描述
string 必需。規定要檢查的字符串。
提示和注釋
提示:該函數可用于為存儲在數據庫中的字符串以及數據庫查詢語句準備合適的字符串。
注釋:默認情況下,PHP 指令 magic_quotes_gpc 為 on,對所有的 GET、POST 和 COOKIE 數據自動運行 addslashes()。
不要對已經被 magic_quotes_gpc 轉義過的字符串使用 addslashes(),因為這樣會導致雙層轉義。
遇到這種情況時可以使用函數 get_magic_quotes_gpc() 進行檢測。
<? php $str = "I'm myall" ; echo addslashes ( $str ); ?>
PHP bin2hex() 函數
PHP String 函數
定義和用法
bin2hex() 函數把 ASCII 字符的字符串轉換為十六進制值。
語法
bin2hex(string)
參數 描述
string 必需。規定要轉換的字符串。
<? php $str = "myall" ; echo bin2hex ( $str ); echo pack ("H*", bin2hex ( $str )); ?>
?其他相關函數:
echo chr (48); // 0 chr()函數從指定的ASCII值返回字符。 echo "<br>" ; $str = "myall" ; echo chunk_split ( $str ,1,"."); // m.y.a.l.l. chunk_split() 函數把字符串分割為一連串更小的部分。 echo "<br>" ; echo convert_uuencode ("myall"); // %;7EA;&P` ` convert_uuencode()函數使用uuencode算法對字符串進行編碼。 echo "<br>" ; echo convert_uudecode ( convert_uuencode ("myall")); // myall convert_uudecode()函數對uuencode編碼的字符串進行解碼。 echo "<br>" ; print_r ( count_chars ("myall",1)); // Array ( [97] => 1 [108] => 2 [109] => 1 [121] => 1 ) echo "<br>" ; print_r ( count_chars ("myall",3)); // almy count_chars() 函數返回字符串所用字符的信息。 echo "<br>" ; /* fprintf() 函數把格式化的字符串寫到指定的輸出流(例如:文件或數據庫)。 該函數返回被寫字符串的長度。 語法 fprintf(stream,format,arg1,arg2,arg++) 參數 描述 stream 可選。規定在哪里寫/輸出字符串。 format 必需。轉換格式。 arg1 必需。規定插到 format 字符串中第一個 % 符號處的參數。 arg2 可選。規定插到 format 字符串中第二個 % 符號處的參數。 arg++ 可選。規定插到 format 字符串中第三、四等等 % 符號處的參數。 說明 參數 format 是轉換的格式,以百分比符號 ("%") 開始到轉換字符結束。下面的可能的 format 值: %% - 返回百分比符號 %b - 二進制數 %c - 依照 ASCII 值的字符 %d - 帶符號十進制數 %e - 可續計數法(比如 1.5e+3) %u - 無符號十進制數 %f - 浮點數(local settings aware) %F - 浮點數(not local settings aware) %o - 八進制數 %s - 字符串 %x - 十六進制數(小寫字母) %X - 十六進制數(大寫字母) arg1, arg2, ++ 等參數將插入到主字符串中的百分號 (%) 符號處。該函數是逐步執行的。在第一個 % 符號中,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。 */ $file = fopen ("test.txt","w" ); echo fprintf ( $file ,"%s Hi!", $str ); echo "<br>" ; print_r ( explode ("a","myall")); // Array ( [0] => my [1] => ll ) explode()函數把字符串分割為數組。 echo "<br>" ; if (CRYPT_MD5==1 ){ echo "MD5:". crypt ("myall"); // crypt() 函數返回使用 DES、Blowfish 或 MD5 加密的字符串。 echo "<br>" ; echo md5 ("myall" ); } echo "<br>" ; printf ("%u", crc32 ("myall")); // crc32() 函數計算一個字符串的 crc32 多項式。 echo "<br>" ; echo htmlentities ("I'm myall",ENT_QUOTES); // htmlentities() 函數把字符轉換為 HTML 實體。 echo "<br>" ; echo html_entity_decode ("I'm myall",ENT_QUOTES,"UTF-8"); // echo "<br>" ; echo implode ("", array ("Hello ", "World!")); // implode()函數把數組元素組合為一個字符串。join()函數是implode()函數的別名。 echo "<br>" ; parse_str ("id=1&name=myall"); // parse_str()函數把查詢字符串解析到變量中。 echo $id ."<br>" ; echo $name ; echo "<br>" ; echo ord ("myall"); // 109 ord()函數返回字符串第一個字符的ASCII值。 echo "<br>" ; echo nl2br ("Hello\nmyall"); // nl2br()函數在字符串中的每個新行(\n)之前插入HTML換行符(<br>)。 echo "<br>" ; echo sha1 ("myall"); // sha1() 函數計算字符串的 SHA-1 散列。 echo "<br>" ; similar_text ("Hello World!","Hello myall", $percent ); // similar_text() 函數計算兩個字符串的匹配字符的數目。 echo $percent ; echo "<br>" ; echo str_ireplace ("World","myall","Hello World"); // str_ireplace() 函數使用一個字符串替換字符串中的另一些字符。 echo "<br>" ; echo str_pad ("myall",20,".",STR_PAD_BOTH); // str_pad() 函數把字符串填充為指定的長度。 echo "<br>" ; echo str_shuffle ("myall"); // str_shuffle() 函數隨機地打亂字符串中的所有字符。 echo "<br>" ; echo str_split ("myall",3); // str_split()函數把字符串分割到數組中。 echo "<br>" ; echo strcasecmp ("Hello","myall"); // strcasecmp() 函數比較兩個字符串。 echo "<br>" ; echo strchr ("myall","a"); // 該函數返回字符串的其余部分(從匹配點)。如果未找到所搜索的字符串,則返回 false。 echo "<br>" ; echo strip_tags ("<h1><b>myall</b></h1>","<b><h1>"); // strip_tags() 函數剝去 HTML、XML 以及 PHP 的標簽。 echo "<br>" ; echo stristr ("myall","a"); // stristr() 函數查找字符串在另一個字符串中第一次出現的位置。 echo "<br>" ; echo stripos ("myall","a",0); // stripos() 函數返回字符串在另一個字符串中第一次出現的位置。 echo "<br>" ; echo substr ("myall",2,3); // substr() 函數返回字符串的一部分。 echo "<br>" ; echo substr_count ("myall","l",0, strlen ("myall")); // substr_count() 函數計算子串在字符串中出現的次數。 echo "<br>" ; echo substr_replace ("myall","qq",0,2); // substr_replace() 函數把字符串的一部分替換為另一個字符串。 echo "<br>" ; echo ucfirst ("myall"); // ucfirst() 函數把字符串中的首字符轉換為大寫。 echo "<br>" ; $str = "myall" ; $number = 123 ; $txt = vsprintf ("Hello %s %u", array ( $str , $number )); // vsprintf() 函數把格式化字符串寫入變量中。 echo $txt ; echo "<br>" ; $str = "myall" ; echo wordwrap ( $str ,2,"<br>\n", TRUE ); // wordwrap() 函數按照指定長度對字符串進行折行處理。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
