字符串是字符序列,比如 "Hello world!"。
PHP 字符串函數(shù)
在本節(jié)中,我們將學(xué)習(xí)常用的字符串操作函數(shù)。
PHP strlen() 函數(shù)
strlen() 函數(shù)返回字符串的長度,以字符計(jì)。
下例返回字符串 "Hello world!" 的長度:
實(shí)例
<?
php
echo
strlen
("Hello world!"
);
?>
運(yùn)行實(shí)例
以上代碼的輸出是:12
提示:strlen() 常用于循環(huán)和其他函數(shù),在確定字符串何時(shí)結(jié)束很重要時(shí)。(例如,在循環(huán)中,我們也許需要在字符串的最后一個(gè)字符之后停止循環(huán))。
PHP strpos() 函數(shù)
strpos() 函數(shù)用于檢索字符串內(nèi)指定的字符或文本。
如果找到匹配,則會(huì)返回首個(gè)匹配的字符位置。如果未找到匹配,則將返回 FALSE。
下例檢索字符串 "Hello world!" 中的文本 "world":
實(shí)例
<?
php
echo
strpos
("Hello world!","world"
);
?>
運(yùn)行實(shí)例
以上代碼的輸出是:6。
提示:上例中字符串 "world" 的位置是 6。是 6(而不是 7)的理由是,字符串中首字符的位置是 0 而不是 1。
PHP addcslashes()函數(shù)
定義和用法
addcslashes() 函數(shù)在指定的字符前添加反斜杠。
語法
addcslashes(string,characters)
參數(shù) 描述
string 必需。規(guī)定要檢查的字符串。
characters 可選。規(guī)定受 addcslashes() 影響的字符或字符范圍。
提示和注釋
注釋:在對(duì) 0,r,n 和 t 應(yīng)用 addcslashes() 時(shí)要小心。在 PHP 中,\0,\r,\n 和 \t 是預(yù)定義的轉(zhuǎn)義序列。
例子 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() 函數(shù)
定義和用法
addslashes() 函數(shù)在指定的預(yù)定義字符前添加反斜杠。
這些預(yù)定義字符是:
單引號(hào) (')
雙引號(hào) (")
反斜杠 (\)
NULL
語法
addslashes(string)
參數(shù) 描述
string 必需。規(guī)定要檢查的字符串。
提示和注釋
提示:該函數(shù)可用于為存儲(chǔ)在數(shù)據(jù)庫中的字符串以及數(shù)據(jù)庫查詢語句準(zhǔn)備合適的字符串。
注釋:默認(rèn)情況下,PHP 指令 magic_quotes_gpc 為 on,對(duì)所有的 GET、POST 和 COOKIE 數(shù)據(jù)自動(dòng)運(yùn)行 addslashes()。
不要對(duì)已經(jīng)被 magic_quotes_gpc 轉(zhuǎn)義過的字符串使用 addslashes(),因?yàn)檫@樣會(huì)導(dǎo)致雙層轉(zhuǎn)義。
遇到這種情況時(shí)可以使用函數(shù) get_magic_quotes_gpc() 進(jìn)行檢測(cè)。
<?
php
$str
= "I'm myall"
;
echo
addslashes
(
$str
);
?>
PHP bin2hex() 函數(shù)
PHP String 函數(shù)
定義和用法
bin2hex() 函數(shù)把 ASCII 字符的字符串轉(zhuǎn)換為十六進(jìn)制值。
語法
bin2hex(string)
參數(shù) 描述
string 必需。規(guī)定要轉(zhuǎn)換的字符串。
<?
php
$str
= "myall"
;
echo
bin2hex
(
$str
);
echo
pack
("H*",
bin2hex
(
$str
));
?>
?其他相關(guān)函數(shù):
echo
chr
(48);
//
0 chr()函數(shù)從指定的ASCII值返回字符。
echo
"<br>"
;
$str
= "myall"
;
echo
chunk_split
(
$str
,1,".");
//
m.y.a.l.l. chunk_split() 函數(shù)把字符串分割為一連串更小的部分。
echo
"<br>"
;
echo
convert_uuencode
("myall");
//
%;7EA;&P` ` convert_uuencode()函數(shù)使用uuencode算法對(duì)字符串進(jìn)行編碼。
echo
"<br>"
;
echo
convert_uudecode
(
convert_uuencode
("myall"));
//
myall convert_uudecode()函數(shù)對(duì)uuencode編碼的字符串進(jìn)行解碼。
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() 函數(shù)返回字符串所用字符的信息。
echo
"<br>"
;
/*
fprintf() 函數(shù)把格式化的字符串寫到指定的輸出流(例如:文件或數(shù)據(jù)庫)。
該函數(shù)返回被寫字符串的長度。
語法
fprintf(stream,format,arg1,arg2,arg++)
參數(shù) 描述
stream 可選。規(guī)定在哪里寫/輸出字符串。
format 必需。轉(zhuǎn)換格式。
arg1 必需。規(guī)定插到 format 字符串中第一個(gè) % 符號(hào)處的參數(shù)。
arg2 可選。規(guī)定插到 format 字符串中第二個(gè) % 符號(hào)處的參數(shù)。
arg++ 可選。規(guī)定插到 format 字符串中第三、四等等 % 符號(hào)處的參數(shù)。
說明
參數(shù) format 是轉(zhuǎn)換的格式,以百分比符號(hào) ("%") 開始到轉(zhuǎn)換字符結(jié)束。下面的可能的 format 值:
%% - 返回百分比符號(hào)
%b - 二進(jìn)制數(shù)
%c - 依照 ASCII 值的字符
%d - 帶符號(hào)十進(jìn)制數(shù)
%e - 可續(xù)計(jì)數(shù)法(比如 1.5e+3)
%u - 無符號(hào)十進(jìn)制數(shù)
%f - 浮點(diǎn)數(shù)(local settings aware)
%F - 浮點(diǎn)數(shù)(not local settings aware)
%o - 八進(jìn)制數(shù)
%s - 字符串
%x - 十六進(jìn)制數(shù)(小寫字母)
%X - 十六進(jìn)制數(shù)(大寫字母)
arg1, arg2, ++ 等參數(shù)將插入到主字符串中的百分號(hào) (%) 符號(hào)處。該函數(shù)是逐步執(zhí)行的。在第一個(gè) % 符號(hào)中,插入 arg1,在第二個(gè) % 符號(hào)處,插入 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()函數(shù)把字符串分割為數(shù)組。
echo
"<br>"
;
if
(CRYPT_MD5==1
){
echo
"MD5:".
crypt
("myall");
//
crypt() 函數(shù)返回使用 DES、Blowfish 或 MD5 加密的字符串。
echo
"<br>"
;
echo
md5
("myall"
);
}
echo
"<br>"
;
printf
("%u",
crc32
("myall"));
//
crc32() 函數(shù)計(jì)算一個(gè)字符串的 crc32 多項(xiàng)式。
echo
"<br>"
;
echo
htmlentities
("I'm myall",ENT_QUOTES);
//
htmlentities() 函數(shù)把字符轉(zhuǎn)換為 HTML 實(shí)體。
echo
"<br>"
;
echo
html_entity_decode
("I'm myall",ENT_QUOTES,"UTF-8");
//
echo
"<br>"
;
echo
implode
("",
array
("Hello ", "World!"));
//
implode()函數(shù)把數(shù)組元素組合為一個(gè)字符串。join()函數(shù)是implode()函數(shù)的別名。
echo
"<br>"
;
parse_str
("id=1&name=myall");
//
parse_str()函數(shù)把查詢字符串解析到變量中。
echo
$id
."<br>"
;
echo
$name
;
echo
"<br>"
;
echo
ord
("myall");
//
109 ord()函數(shù)返回字符串第一個(gè)字符的ASCII值。
echo
"<br>"
;
echo
nl2br
("Hello\nmyall");
//
nl2br()函數(shù)在字符串中的每個(gè)新行(\n)之前插入HTML換行符(<br>)。
echo
"<br>"
;
echo
sha1
("myall");
//
sha1() 函數(shù)計(jì)算字符串的 SHA-1 散列。
echo
"<br>"
;
similar_text
("Hello World!","Hello myall",
$percent
);
//
similar_text() 函數(shù)計(jì)算兩個(gè)字符串的匹配字符的數(shù)目。
echo
$percent
;
echo
"<br>"
;
echo
str_ireplace
("World","myall","Hello World");
//
str_ireplace() 函數(shù)使用一個(gè)字符串替換字符串中的另一些字符。
echo
"<br>"
;
echo
str_pad
("myall",20,".",STR_PAD_BOTH);
//
str_pad() 函數(shù)把字符串填充為指定的長度。
echo
"<br>"
;
echo
str_shuffle
("myall");
//
str_shuffle() 函數(shù)隨機(jī)地打亂字符串中的所有字符。
echo
"<br>"
;
echo
str_split
("myall",3);
//
str_split()函數(shù)把字符串分割到數(shù)組中。
echo
"<br>"
;
echo
strcasecmp
("Hello","myall");
//
strcasecmp() 函數(shù)比較兩個(gè)字符串。
echo
"<br>"
;
echo
strchr
("myall","a");
//
該函數(shù)返回字符串的其余部分(從匹配點(diǎn))。如果未找到所搜索的字符串,則返回 false。
echo
"<br>"
;
echo
strip_tags
("<h1><b>myall</b></h1>","<b><h1>");
//
strip_tags() 函數(shù)剝?nèi)?HTML、XML 以及 PHP 的標(biāo)簽。
echo
"<br>"
;
echo
stristr
("myall","a");
//
stristr() 函數(shù)查找字符串在另一個(gè)字符串中第一次出現(xiàn)的位置。
echo
"<br>"
;
echo
stripos
("myall","a",0);
//
stripos() 函數(shù)返回字符串在另一個(gè)字符串中第一次出現(xiàn)的位置。
echo
"<br>"
;
echo
substr
("myall",2,3);
//
substr() 函數(shù)返回字符串的一部分。
echo
"<br>"
;
echo
substr_count
("myall","l",0,
strlen
("myall"));
//
substr_count() 函數(shù)計(jì)算子串在字符串中出現(xiàn)的次數(shù)。
echo
"<br>"
;
echo
substr_replace
("myall","qq",0,2);
//
substr_replace() 函數(shù)把字符串的一部分替換為另一個(gè)字符串。
echo
"<br>"
;
echo
ucfirst
("myall");
//
ucfirst() 函數(shù)把字符串中的首字符轉(zhuǎn)換為大寫。
echo
"<br>"
;
$str
= "myall"
;
$number
= 123
;
$txt
=
vsprintf
("Hello %s %u",
array
(
$str
,
$number
));
//
vsprintf() 函數(shù)把格式化字符串寫入變量中。
echo
$txt
;
echo
"<br>"
;
$str
= "myall"
;
echo
wordwrap
(
$str
,2,"<br>\n",
TRUE
);
//
wordwrap() 函數(shù)按照指定長度對(duì)字符串進(jìn)行折行處理。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

