字串是指由零個或多個字元構成的乙個集合,這裡所說的字串主要包含以下幾種型別:
數字型別(1,2,3)、字母型別(a,b,c)、特殊字元(#,$,%)、不可見字元(\n,\r,\t)
單引號和雙引號:雙引號中的內容是經過php的語法分析器解析過的,任何變數在雙引號中都會被轉換成它的值
在進行sql查詢之前,所有字串都必須加單引號,防止注入漏洞和sql錯誤
字串連線使用 . 。無法實現大量字串連線,建議使用雙引號包含變數的方式
去除字串收尾空格和特殊字元: trim()
string trim(string str [, string charlist]);
charlist: 可選,指定需要從字串中刪除哪些字元,預設可選值: \0,\t,\n,\x0b,\r,空格,也可自己提供
凡是在字串收尾出現在charlist中的字元都會去除
ltrim()去除左邊的,rtrim()去除右邊的
$str = " dfdf dfdg #";
$str1 = "# abc # ";
echo trim($str).'
'; // "dfdf dfdg #"
echo trim($str,' #').'
'; // "dfdf dfdg"
echo trim($str,'# ').'
'; // "dfdf dfdg"
echo trim($str1).'
'; // "# abc #"
echo trim($str1,'#').'
'; // " abc # "
echo trim($str1,'# ').'
'; // "abc"
echo trim($str1,' #').'
'; // "abc"
轉義、還原字串資料:
手動轉義、還原:自己手動新增、刪除 『\』
自動轉義:使用addslashes()和stripslashes()
$str = "asdf\"ghjkl\"qwe";
echo stripcslashes($str); //"asdf"ghjkl"qwe"
// addslashes($str)字串為 "asdf\\\"ghjkl\\\"qwe"
// 在所有的 \ 和 " 前面都新增乙個 \
echo addslashes($str); //"asdf\"ghjkl\"qwe"
echo stripcslashes($str); //"asdf"ghjkl"qwe"
addcslashes()和stripcslashes()對指定範圍內的字串進行轉義、還原
string addcslashes(string str, string charlist);
string stripcslashes(string str, string charlist);
在charlist中,包含的\n、\r等字元,將以c語言風格轉換,而其他非字母數字且ascii碼低於32或高於126的字元均轉換成八進位制表示。
獲取字串長度:strlen(); 漢子佔兩個字元 $len = strlen($str);
擷取字串:php預定義函式substr(),特別中文擷取亂碼的問題
string substr(string str, int start [, int length]);
start: 指定開始擷取的位置,如果w為負數,則從字串的末尾開始擷取
length: 可選,指定擷取字元個數,如果為負,表示擷取到倒數第length個字元
start、length全為負數沒有結果
$str = "asdfghjkl";
echo substr($str,1,5).'
'; //sdfgh
echo substr($str,1,-5).'
'; //sdf
echo substr($str,-3,5).'
'; //jkl 到字串結尾提前結束了
比較字串:
按位元組進行字串比較的方法有兩種:strcmp()和strcasecmp()(不區分大小寫),函式返回小於0、等於0、大於0三種結果
按自然排序法進行字串的比較:strnatcmp(), 比較字串中的數字部分 strnatcasecmp()不區分大小寫,有意思嗎?數字還有大小寫?
echo strnatcmp("qwe1023sf","wrer34"); // -1
// 1023中第乙個數字是1 比34中3小
從指定字串位置開始比較: int strncmp($str1,$str2,int len); len指定每個字串參與比較的字元數量
字串檢索:
php學習筆記 字串操作
1.除去字串前後的空格 1 trim 除去字串前後的空格 2 ltrim 除去字串左邊的空格 3 rtrim 除去字串右邊的空格 2.獲取字串長度 1 獲取英文本串長度 strlen 2 獲取中文字元長度 mb strlen eg mb strlen str,utf8 3.擷取字串 1 英文 sub...
php字串操作
一空格特殊字元 1 string trim string str string charlist 去除字串開始結尾位置的空格和特殊字元 如果沒有第二個引數只去除空格 2 string ltrim string str string charlist 去除字串開始位置的空格和特殊字元 3 string...
PHP 字串操作
可以使用trim 函式去除字串開始位置和結束位置的空格,並把結果字串返回。預設情況下,去除 n r t xob 0和空格。也可以傳入第二個引數提供要過濾的特殊字元。ltrim 只從字串開始處去除,rtrim 只從字串結束處去除。nl2br 函式將會把字串中的換行符替換為 標記。當字串中含有一些有問題...