當前位置:才華齋>計算機>php語言>

PHP程式設計中字串處理的5個技巧

php語言 閱讀(2.51W)

PHP程式設計中字串處理的5個技巧你瞭解多少呢?就跟隨本站小編一起去了解下吧,想了解更多相關資訊請持續關注我們應屆畢業生考試網!

PHP程式設計中字串處理的5個技巧

  字串

注意單引號和雙引號的區別

注意轉義字元的使用,",$

注意使用8進位制或16進位制字元表示 xf6

echo "Hxf6me";//需要察看是否支援此類文字編碼

---------------------輸出結果----------------------------------------

H鰉e

---------------------------------------------------------------------

  1.使用printf()和sprintf()建立格式化的輸出

printf()直接輸出到輸出緩衝區

sprintf()的輸出作為字串返回

如printf("輸出內容 %.2fn",$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.3fm",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.142m1111011 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,".")_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])