<?php
/*
* 1、字符串定義
* 2、字符串連接
* 3、字符串轉義、還原
* 4、字符串操作函數
*/
//定義字符串:由0個或多個字符組成的有限序列
//字符串有3種定義形式:(1)單引號 (2)雙引號 (3)定界符
//注意1:單引號串和雙引號串是有區別的。雙引號字符串中包含的變量會被解析出來替換成相應的值,而單引號
//字符串中包含的變量被當做普通字符處理。當然,對於不含須解析的,兩者是一樣的。
//注意2:定界符中的字符串支持單引號、雙引號,無須轉義,並支持字符變量替換
//定界符格式如下:
//<<<str
// 格式化文本
//str;
//注意3:str爲用戶自定義標識符,前後需要保持相同,而且結束標識符必須從行的第1列開始且其後分號是緊跟着寫的
//該行除了str;字符外,其他字符不能有,否則會出錯
$str=6;
echo 'str is $str<br>';
echo "str is $str<br>";
echo <<<str
$str 是個吉利的數字!
str;
echo '<p>';
//字符串連接:用連接符“.”將兩個或兩個以上的字符串連接成一個新的字符串
//字符串連接形式有2種:(1)直接使用連接運算符"." (2)使用連接賦值運算符“.=”
$name='我的博客:';
$url=$name."http://www.myblog.com";
echo $url.'<br>';
$str="我的博客:";
$str.="http://www.myblog.com";
echo $str;
echo '<p>';
//字符串的轉義、還原:對目標數據中含的可能誤認爲控制符等系統專用的字符進行轉義和還原
//轉義和還原字符串數據方法有2種:(1)手動 (2)自動
//手動:爲那些字符前加上轉義字符“\”
echo 'select * from book where bookname=\'PHP開發寶典\'';
echo "<p>";
//自動:使用自動轉義函數實現字符串的轉義,一般用於數據量較大的字符串
//轉義函數:string addslashes(string str);
//轉義函數還原:string stripslashes(string str);
//限定轉義函數:string addcslashes(string str,string charlist),其作用是:在指定的字符charlist前加上“\”進行轉義
//限定轉移函數還原:string stripcslashes(string str);
$str="select * from book where bookname='PHP開發寶典'";
$a=addslashes($str);
echo $a."<br>";
$b=stripslashes($a);
echo $b."<p>";
$a="我心永恆!";
$b=addcslashes($a,"我心");
echo "轉義字符串:".$b;
echo "<br>";
$c=stripcslashes($b);
echo "還原字符串:".$c;
echo '<p>';
//操作字符串的函數
//(1)獲取字符串長度:int strlen(string str)
echo strlen("中國好聲音!");//漢字佔2個字符
echo '<p>';
//(2)截取字符串:從字符串中按照指定位置截取一定長度的字符。
//string substr(string str,int start[,int length])
//注意:str爲字符串對象,start爲指定開始截取字符串的位置(如果start參數爲負數,則從字符串的末尾開始截取)
//length指定截取字符的個數,如果length爲負數,則表示截取到倒數第length個字符(不包括倒數第length個字符)
echo substr("www.myblog.com",0);//從第0個開始截取
echo "<br>";
echo substr("www.myblog.com",3,8);//從第3個字符開始截取8個字符
echo "<br>";
echo substr("www.myblog.com",-3,3);//從字符串末尾開始截取3個字符
echo "<br>";
echo substr("www.myblog.com",0,-4);//從第1個字符開始截取,截取到倒數第4個字符爲止
echo '<p>';
//(3)比較字符串
//比較字符串的方法有3種如下:
//方法1:按照字節比較:strcmp()函數和strcasecmp()函數。兩者區別:前者區分大小寫,而後者不區分
//語法1:int strcmp(string str1,string str2)
//語法2:int strcasecmp(string str1,string str2)
//返回值
/*
* str1==str2 返回0
* str1>str2 返回1
* str1<str2 返回-1
*/
$str1="M";
$str2="m";
echo strcmp($str1,$str2);
echo '<br>';
echo strcasecmp($str1,$str2);
//方法2:按照自然排序法比較:比較的是字符串中的數字部分,將字符串中的數字按照大小進行比較
//語法1:int strnatcmp(string str1,string str2)
//語法2:int strnatcasecmp(string str1,string str2)
//注意:自然排序法根據數字大小來決定大小,前提是字符串中前面已經比較的字母字符一致,此種情況下
//才讓自然數字大小來決定字符串的大小
echo '<p>';
$str3="ff3.jpg";
$str4="FF20.jpg";
echo strnatcmp($str3,$str4);
echo '<br>';
echo strnatcasecmp($str3,$str4);
echo '<p>';
//方法3:指定從源字符串的位置比較即指定2個字符串參與比較的字符的數量
//語法:int strncmp(string str1,string str2,int len)
$str1="I love you!";
$str2="I love myself!";
echo strncmp($str1,$str2,8);
echo '<p>';
//(4)檢索字符串:查找字符串
//函數strstr():用於獲取一個指定字符串在另一個字符串中首次出現的位置到後者末尾的子字符串
//如果成功,則返回的子字符串(包含匹配的字符);反之,返回false
//語法: string strstr(string haystack,string needle)
//其中,haystack用來指定從哪個字符串中進行搜索,needle用來指定搜索對象(如果該參數是一個數值,那麼將搜索
//與這個數值的ASCII值相匹配的字符)
echo strstr("PHP開開發實戰","開");
echo '<br>';
echo strstr("aabcded",98);
echo '<p>';
//substr_count()函數:查看指定字符或者單詞在字符串中出現的次數
//語法:int substr_count(string haystack,string needle)
$str="我喜歡你,你喜歡我嗎?唉···";
echo substr_count($str,"你");
echo '<p>';
//(5)替換字符串
//函數str_ireplace():使用新的子字符串替換原始字符串中被指定要替換的字符串
//語法: minxed str_ireplace(mixed search,mixed replacce,mixed subject[,int &count])
//search參數指定需要查找的字符串,replace參數指定替換的值,subject參數指定查找的範圍
//count可選參數:獲取執行替換的數量
//函數str_replace:與上述函數區別是區分大小寫的
$search="汪倫強";
$replace="w";
$object="汪倫強是一名軟件工程師";
echo str_ireplace($search,$replace,$object);
echo '<br>';
echo str_ireplace($search,"<font color='#ff0000'>".$search."</font>",$object);
echo '<p>';
//函數substr_replace():對指定字符串中的部分字符串進行替換
//語法:mixed substr_replace(string str,string repl,int start,[,int length])
//str參數指定要操作的原始字符串,repl參數指定替換後的新字符串
//start參數:指定開始替換字符串開始的位置。正數時,起始位置從字符串開頭開始;負數時,
//起始位置從字符串的結尾開始
//length可選參數:指定替換的字符串長度。正數時,起始位置從字符串開頭開始;負數時,
//起始位置從字符串的結尾開始
$str="I am Chinese";
$repl="a";
echo substr_replace($str,$repl,9,3);
?>
PHP字符串操作介紹與使用
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.