字串
注意單引號和雙引號的區別
注意逸出字元\的使用\\,\",\$
注意使用8進位或16進位字元表示 \xf6
echo "H\xf6me";//需要察看是否支援此類文字編碼
---------------------輸出結果----------------------------------------
H鰉e
---------------------------------------------------------------------
1.使用printf()和sprintf()建立格式化的輸出
printf()直接輸出到輸出緩衝區
sprintf()的輸出作為字串返回
如printf("輸出內容 %.2f\n",$PI());
所有的轉換規範都以%開頭
資料類型有d-整數,s-字串,f-浮點數,b-二進位
.2是一個可選的寬度指標,小數點右邊輸出使用0填充
printf("%.2f",3.14159);
printf("%10.2f",3.14159);
printf("%.10f",3.14159);
printf("%.9s",abcdefghijklmn);
printf("%5.2f,%f,%7.3f\m",3.14159,3.14159,3.14159);
printf("%b %d %f %s \n",123,123,123,"test");
---------------------輸出結果----------------------------------------
3.14 3.143.1415900000abcdefghi 3.14,3.141590, 3.142\m1111011 123 123.000000 test
---------------------------------------------------------------------
2.字串填充
string str_pad(string input原始字串, int length添加後的總長度[, string padding要填充的字元 [, int pad_type]填滿類型])
填滿類型有添加在左邊STR_PAD_LEFT,預設添在右邊,填充在兩端STR_PAD_BOTH
$index = array("one"=>1,"two"=>155,"three"=>1679);
echo "
";
echo str_pad("這是標題",50," ",STR_PAD_BOTH)."\n";
foreach($index as $inkey=>$inval)
echo str_pad($inkey,30,".").str_pad($inval,20,".",STR_PAD_LEFT)."\n";
echo "
";
---------------------輸出結果----------------------------------------
這是標題
one..............................................1
two............................................155
three.........................................1679
---------------------------------------------------------------------
string strtolower(string subject)//轉換為小寫
string strtoupper(string subject)//轉換為大寫
string ucfirst(string subject)//首字母大寫
string ucwords(string subject)//每個單字首大寫
string ltrim(string subject)//去左空白
string rtrim(string subject)//去右空白
string trim(string subject)去左右空白,空白包括null,定位字元,分行符號,斷行符號符和空格
string n12br(string source)//將\n表示的分行符號轉換為<BR />標記
3.字串比較
integer strcmp(sting str1,string str2) //str1大於str2返回-1 str1小於str2返回1 str1和str2相等返回0
integer strmcmp(sting str1,string str2,integer length) //第三個參數限制length個字元的比較
print strcmp("aardvark","aardwolf");
print strncmp("aardvark","aardwolf",4);
---------------------輸出結果----------------------------------------
-10
---------------------------------------------------------------------
strcasecmp()和strncasecmp()是不區分大小寫比較函數
4.尋找和抽取子字串
string substr(sting source,integer start[,integer length])//從start開始取length個字元
start和length可以使用負值
$var = "abcdefgh";
print substr($var,2);//從0開始計數
print substr($var,2,3);
print substr($var,-1);//從字串的末尾開始
print substr($var,-5,2);
print substr($var,-5,-2);
---------------------輸出結果----------------------------------------
cdefgh
cde
h
de
def
---------------------------------------------------------------------
integer strpos(string haystack,string needle[,integer offset])//尋找子字串的位置,返回第一次出現.
integer strrpos(string haystack,string needle)//只搜尋單個字元(多個字元只取第一個),返回最後一次出現的索引.
還有常見的從 字串中抽取找到的部分 的函數
string strstr(string haystack,string needle)//不區分大小寫
string stristr(string haystack,string needle)//區分大小寫
string strrchr(string haystack,sting needle)
*********** array explode(string separator,string subject[,integer limit])//返回一個字串數組
array implode(string glue,array pieces)//返回一個字串
///////////////////////////程式碼片段////////////////////////////////////////
$guest = "this is a string";
$guestArray = explode(" ",$guest);
var_dump($guestArray);
sort($guestArray);
echo implode(",",$guestArray);
////////////////////////////////////////////////////////////////////////
---------------------輸出結果----------------------------------------
array(4) { [0]=> string(4) "this" [1]=> string(2) "is" [2]=> string(1) "a" [3]=> string(6) "string" } a,is,string,this
---------------------------------------------------------------------
5.替換字元和子字串
string substr_replace(string source,string replace,int start[,int length])