php學習筆記之字符串常見操作總結
本文實例講述了php字符串常見操作。分享給大家供大家參考,具體如下:
字符串的定義
可以用單引號或雙引號來定義字符串
<?php $str = "hello"; $str = 'hello'; >?
heredoc和nowdoc定義大段字符串
區(qū)別:和單引號與雙引號定義字符串的區(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/>"; ?>
單引號和雙引號的區(qū)別
1)轉義區(qū)別:單引號轉義情況:\\、\',其他全部原樣輸出
雙引號轉義情況:\,、\”、\n、\r、\t等
2)速度區(qū)別:單引號中不能加載變量,而雙引號中可以加載變量
速度上,單引號要快于雙引號
字符串的常用函數(shù)
1)計算字符串的長度
strlen():按照字符串占用的字節(jié)數(shù)來計算長度
mb_strlen():按照編碼來計算字符串的長度
<?php $str = "hello"; $str2 = "中國123"; echo strlen($str)."<br/>"; //輸出5 echo strlen($str2)."<br/>";//輸出9,utf8字符編碼一個漢字占3個字節(jié) echo mb_strlen($str2,"utf-8")."<br/>";//輸出5,按照u8編碼,計算字符的長度 ?>
2)計算子字符串的位置函數(shù)
strpos():區(qū)分大小寫進行查找子串首次的出現(xiàn)的位置
stripos():不分區(qū)大小寫進行查找子串首次出現(xiàn)的位置
strrpos():區(qū)分大小寫進行查找子串最后一次的出現(xiàn)的位置
strripos():不區(qū)分大小寫進行查找子串最后一次的出現(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ū)分大小寫替換字符串中的內容
str_ireplace():不分區(qū)大小寫替換字符串中的內容
strtr():成批地進行替換(可以使用數(shù)組的某種對應關系)
substr_replace():按照字符串的位置和指定的長度來替換字符串中的內容
<?php $str = "hi,Fuck"; echo str_replace("fuck","f**k",$str)."<br/>";//輸出:hi,Fuck,區(qū)分大小寫,所以沒有找到要替換的內容 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():按照起始位置和指定長度來截取字符串
<?php $str = "hello,webbc,welcome!"; echo substr($str,6,5)."<br/>";//輸出:webbc echo substr($str,6,-1)."<br/>";//輸出:webbc,welcome,負數(shù)表示結束位置從后往前數(shù) echo substr($str,-8,-1);//輸出:welcome,負數(shù)表示起始位置從后往前數(shù) ?>
5)合并/拆分字符串
explode():將字符串按照某個字符拆分成數(shù)組
implode():將數(shù)組按照某個字符合并成字符串
<?php $str = "勇士,馬刺,雷霆,快船,開拓者,小牛,灰熊,火箭"; $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 '開拓者' (length=9) 5 => string '小牛' (length=6) 6 => string '灰熊' (length=6) 7 => string '火箭' (length=6) */ echo implode($arr,"-");//輸出:勇士-馬刺-雷霆-快船-開拓者-小牛-灰熊-火箭 ?>
6)處理空格
ltrim():刪除左導空格
rtrim():刪除右導空格
trim():刪除左導和右導空格
<?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)字符串轉義函數(shù)
addslashes():對特殊字符進行轉義
stripslashes():將轉義過的字符還原
<?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和字符串的轉換
htmlspecialchars():將字符串轉換成HTML實體
htmlspecialchars_decode():將HTML實體轉換成字符串
<?php $str = "<b>我是加粗 字體</b>"; echo $str; //輸出:我是加粗 字體 $htmlstr = htmlspecialchars($str); echo $htmlstr;//輸出:<b>我是加粗 字體</b> echo htmlspecialchars_decode($htmlstr);//輸出:我是加粗 字體 ?>
9)檢索字符串
strstr():查找字符串的首次出現(xiàn)
substr_count():計算字串出現(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)字符串的轉換函數(shù)
strtolower():全部轉換為小寫
strtoupper():全部轉換為大寫
ucfirst():將字符串的首字母轉換為大寫
ucwords():將字符串的每個單詞的首字母大寫
<?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 ?>
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php常用函數(shù)與技巧總結》、《php字符串(string)用法總結》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
相關文章
PHP中調試函數(shù)debug_backtrace的使用示例代碼
debug_backtrace() 是一個很低調的函數(shù),很少有人注意過它,這篇文章主要給大家介紹了關于PHP中調試函數(shù)debug_backtrace的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,感興趣的朋友們隨著小編來一起學習學習吧。2017-09-09