標籤:
1.定義方式
①雙引號方式
例:$str = "hello";
註:在使用雙引號進行字串定義時,字串內部不能再出現雙引號
因為PHP會將其當成字串邊界進行解析
例:$str = " hello,"susan" "; =>hello,
此時,可對內部雙引號進行轉義,使用\"表示無語義的"
則:$str = " hello,\"susan\" ";
其它需要轉義的符號:
\" => " \n => 換行 \\ => \
\r => 斷行符號 \$ => $ \‘ => ‘
②單引號方式
使用單引號定義的字串,PHP不會做複雜的轉義
只轉義\‘及\\ 其他一律原樣輸出
單引號字串的$..直接作為字串輸出
而雙引號會試著將其作為變數進行解析
如何選擇單/雙引號?
大段文字,使用單引號,解析快
而如果確實要在字串中夾雜變數,則需要使用雙引號
③heredoc寫法
<<<標識符
大段文本(包含雙引號、單引號)
標識符; =>一定獨佔一行,且前面沒有任何字元
功能:與雙引號一致,會解析內部轉義、變數等
④nowdoc寫法
<<<‘標識符‘
大段文本
標識符;
功能:與單引號一致
2.字串的類數組特性
例:$str = ‘abcdef‘;
echo $str[0]; =>a
3.字串長度函數
strlen(字串變數); =>計算字串位元組數量
註:UTF-8中一個漢字佔三個位元組
mb_strlen(字串變數,[字元集]); =>計算字串字元數量
4.尋找字串中子字元位置函數
strpos(字串變數,‘尋找目標‘,[位移量]); =>從起始開始計算經過多少個字元是目標字元
註:該函數所尋找的目標是區分大小寫
若‘尋找目標‘填寫的是整數,則會將整數轉換為ASCII碼
在ASCII碼中:
65~90 => A~Z 97~122 => a~z
在進行if判斷時,若第一個(0)即是目標,則會返回false,此時可適用===進行判斷
例:if(strpos()===false){
return false;
}else{
return true;
}
位移量即略過一定數量再進行尋找
stripos() =>作用同上,單其尋找的目標不區分大小寫
strrpos() =>目標字元最後一次出現的位置
substr_count() =>計算目標出現的次數
5.字串替換函數
str_replace(‘原始‘,‘替換成‘,字串變數,[替換次數]);
‘原始‘及‘替換成‘均可是混合類型,如數組
若同時替換兩個,每次都是從頭開始找
strtr(字串變數,‘原始‘,‘替換成‘);
‘原始‘與‘替換成‘進行對應,一個字元對應一個字元進行替換
例:‘hi‘與‘ab‘ 則h=>a i=>b
實際應用中,可進行全/半形轉換等
6.字串截取函數
substr(字串變數,從哪開始,[到哪結束]);
從哪開始 若填寫的是負數,則從右往左進行
例:substr(‘123456‘,2,-2); =>34
strstr(字串變數,目標字元,[true]);
截取 第一次出現的目標字元~結尾 的部分
若增加true可選項,則是~開頭部分
strrchr(字串變數,目標字元,[true]);
截取 最後一次出現的目標字元~結尾 的部分
實際應用中可用於判斷檔案格式
7.字串的分割、串連、反轉函數
Ltrim(字串變數,‘需修剪字元‘);
Rtrim(字串變數,‘需修剪字元‘);
str_split(字串變數,[n]);
將字串分割成n個字母一組,總體形成一個數組
explode(‘分割符‘,字串變數);
用指定的分割符將字串分成多組,總體形成一個數組
implode([‘串連符‘],陣列變數);
用串連符將數組中的所有單元值串連成一個字串
chunk_split(字串變數,隔幾個字元,[‘增加字元‘]);
例:chunk_split($str,3,‘,‘); =>為$str字串每隔3個字元添加一個逗號
若不填增加字元,增自動增加分行符號
strrev(字串變數); =>反轉字串 abc=>cba
8.字串轉義函數
addslashes(字串變數);
在資料庫操作時,諸如單引號等特殊字元會帶來破壞作用,
當使用者輸入單引號時,可利用該函數在單引號前加\進行轉義
stripslashes(字串變數);
將特殊字元轉換為html實體,如 < > => $lt; $gt;
htmlspecialchars_decode(字串變數);
將html實體轉換為特殊字元
9.字串比較函數
strcmp(‘字串1‘,‘字串2‘); =>返回bool值
10.字串轉換函式
strtolower(字串變數); =>全大寫
strtoupper(字串變數); =>全小寫
ucfirst(字串變數); =>首字母大寫
11.系統函數
pathinfo(字串變數); =>返回其資訊,如名稱、尾碼等
number_format(字串變數); =>將字串以千分位表示 1,234,567
@zhnoah
出處:http://www.cnblogs.com/zhnoah/
本文著作權歸本人和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連
接,否則保留追究法律責任的權利。
PHP學習筆記——6.字串