本文實(shí)例講述了php字符串常見(jiàn)操作。分享給大家供大家參考,具體如下:
字符串的定義
可以用單引號(hào)或雙引號(hào)來(lái)定義字符串
?php
$str = "hello";
$str = 'hello';
>?
heredoc和nowdoc定義大段字符串
區(qū)別:和單引號(hào)與雙引號(hào)定義字符串的區(qū)別相同
?php
//heredoc的使用
$str3 = MARK
hello
world!
ok;$a
puzhong!
MARK;
echo $str3."br/>";
//nowdoc的使用
$str4 = 'MARK'
hello
world!
ok;$a
puzhong!
MARK;
echo $str4."br/>";
?>
單引號(hào)和雙引號(hào)的區(qū)別
1)轉(zhuǎn)義區(qū)別:?jiǎn)我?hào)轉(zhuǎn)義情況:\\、\',其他全部原樣輸出
雙引號(hào)轉(zhuǎn)義情況:,、”、n、r、t等
2)速度區(qū)別:?jiǎn)我?hào)中不能加載變量,而雙引號(hào)中可以加載變量
速度上,單引號(hào)要快于雙引號(hào)
字符串的常用函數(shù)
1)計(jì)算字符串的長(zhǎng)度
strlen():按照字符串占用的字節(jié)數(shù)來(lái)計(jì)算長(zhǎng)度
mb_strlen():按照編碼來(lái)計(jì)算字符串的長(zhǎng)度
?php
$str = "hello";
$str2 = "中國(guó)123";
echo strlen($str)."br/>"; //輸出5
echo strlen($str2)."br/>";//輸出9,utf8字符編碼一個(gè)漢字占3個(gè)字節(jié)
echo mb_strlen($str2,"utf-8")."br/>";//輸出5,按照u8編碼,計(jì)算字符的長(zhǎng)度
?>
2)計(jì)算子字符串的位置函數(shù)
strpos():區(qū)分大小寫進(jìn)行查找子串首次的出現(xiàn)的位置
stripos():不分區(qū)大小寫進(jìn)行查找子串首次出現(xiàn)的位置
strrpos():區(qū)分大小寫進(jìn)行查找子串最后一次的出現(xiàn)的位置
strripos():不區(qū)分大小寫進(jìn)行查找子串最后一次的出現(xiàn)的位置
?php
$str = "aAbBcdefgAa";
$char = "A";
echo strpos($str, $char)."br/>";//輸出1,區(qū)分大小寫
echo stripos($str,$char)."br/>";//輸出0,不區(qū)分大小寫
echo strrpos($str,$char)."br/>";//輸出9,區(qū)分大小寫
echo strripos($str, $char)."br/>";輸出10,//不區(qū)分大小寫
?>
3)替換字符串函數(shù)
str_replace():區(qū)分大小寫替換字符串中的內(nèi)容
str_ireplace():不分區(qū)大小寫替換字符串中的內(nèi)容
strtr():成批地進(jìn)行替換(可以使用數(shù)組的某種對(duì)應(yīng)關(guān)系)
substr_replace():按照字符串的位置和指定的長(zhǎng)度來(lái)替換字符串中的內(nèi)容
?php
$str = "hi,Fuck";
echo str_replace("fuck","f**k",$str)."br/>";//輸出:HI,Fuck,區(qū)分大小寫,所以沒(méi)有找到要替換的內(nèi)容
echo str_ireplace("fuck", "f**k", $str)."br/>";//輸出:HI,f**k,不區(qū)分大小寫
$str = "男人,女人,男孩,女孩";
echo strtr($str, array("男"=>"女","女"=>"男"));//輸出:女人,男人,女孩,男孩
$str = "hello,webbc,welcome";
echo substr_replace($str,"webxx",6,5);//輸出:hello,webxx,welcome
?>
4)截取子字符串函數(shù)
substr():按照起始位置和指定長(zhǎng)度來(lái)截取字符串
?php
$str = "hello,webbc,welcome!";
echo substr($str,6,5)."br/>";//輸出:webbc
echo substr($str,6,-1)."br/>";//輸出:webbc,welcome,負(fù)數(shù)表示結(jié)束位置從后往前數(shù)
echo substr($str,-8,-1);//輸出:welcome,負(fù)數(shù)表示起始位置從后往前數(shù)
?>
5)合并/拆分字符串
explode():將字符串按照某個(gè)字符拆分成數(shù)組
implode():將數(shù)組按照某個(gè)字符合并成字符串
?php
$str = "勇士,馬刺,雷霆,快船,開(kāi)拓者,小牛,灰熊,火箭";
$arr = explode(",",$str);
var_dump($arr);
/*
輸出:array
0 => string '勇士' (length=6)
1 => string '馬刺' (length=6)
2 => string '雷霆' (length=6)
3 => string '快船' (length=6)
4 => string '開(kāi)拓者' (length=9)
5 => string '小牛' (length=6)
6 => string '灰熊' (length=6)
7 => string '火箭' (length=6)
*/
echo implode($arr,"-");//輸出:勇士-馬刺-雷霆-快船-開(kāi)拓者-小牛-灰熊-火箭
?>
6)處理空格
ltrim():刪除左導(dǎo)空格
rtrim():刪除右導(dǎo)空格
trim():刪除左導(dǎo)和右導(dǎo)空格
?php
$str = " hello world ";
echo ltrim($str)."a"."br/>";//輸出:HELLO world a
echo "a".rtrim($str)."br/>";//輸出:A hello world
echo trim($str)."br/>";//輸出:HELLO world
?>
7)字符串轉(zhuǎn)義函數(shù)
addslashes():對(duì)特殊字符進(jìn)行轉(zhuǎn)義
stripslashes():將轉(zhuǎn)義過(guò)的字符還原
?php
$str = "Is your ' name O'reilly?";
$a = addslashes($str);
echo $a;//輸出:Is your ' name O\'reilly?
echo stripslashes($a);//輸出:IS your ' name O'reilly?
8)HTML和字符串的轉(zhuǎn)換
htmlspecialchars():將字符串轉(zhuǎn)換成HTML實(shí)體
htmlspecialchars_decode():將HTML實(shí)體轉(zhuǎn)換成字符串
?php
$str = "b>我是加粗nbsp;nbsp;字體/b>";
echo $str; //輸出:我是加粗 字體
$htmlstr = htmlspecialchars($str);
echo $htmlstr;//輸出:b>我是加粗nbsp;nbsp;字體/b>
echo htmlspecialchars_decode($htmlstr);//輸出:我是加粗 字體
?>
9)檢索字符串
strstr():查找字符串的首次出現(xiàn)
substr_count():計(jì)算字串出現(xiàn)的次數(shù)
?php
$str = 'name@example.com';
echo strstr($str, '@'); //輸出:@example.com
$str = 'This is a test';
echo substr_count($str, 'is'); //輸出:2
?>
10)字符串的轉(zhuǎn)換函數(shù)
strtolower():全部轉(zhuǎn)換為小寫
strtoupper():全部轉(zhuǎn)換為大寫
ucfirst():將字符串的首字母轉(zhuǎn)換為大寫
ucwords():將字符串的每個(gè)單詞的首字母大寫
?php
$str = "i haVe a Dream";
echo strtolower($str)."br/>";//輸出:i have a dream
echo strtoupper($str)."br/>";//輸出:I HAVE A DREAM
echo ucfirst($str)."br/>";//輸出:I haVe a Dream
echo ucwords($str)."br/>";//輸出:I HaVe A Dream
?>
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php常用函數(shù)與技巧總結(jié)》、《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見(jiàn)數(shù)據(jù)庫(kù)操作技巧匯總》
希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。
您可能感興趣的文章:- PHP中文處理 中文字符串截取(mb_substr)和獲取中文字符串字?jǐn)?shù)
- PHP preg_replace() 正則替換所有符合條件的字符串
- php中利用explode函數(shù)分割字符串到數(shù)組
- PHP通過(guò)iconv將字符串從GBK轉(zhuǎn)換為UTF8字符集
- PHP字符轉(zhuǎn)義相關(guān)函數(shù)小結(jié)(php下的轉(zhuǎn)義字符串)
- php字符串截取的簡(jiǎn)單方法
- PHP中去掉字符串首尾空格的方法
- php 字符串中是否包含指定字符串的多種方法
- PHP 查找字符串常用函數(shù)介紹
- php字符串截取問(wèn)題
- PHP字符串的連接的簡(jiǎn)單實(shí)例