php字串處理

來源:互聯網
上載者:User

標籤:image   過濾字元   賦值   執行   實體   第一個   效率   trim   忽略   

1. 字串類型特點

1)因為PHP是弱類型語言,所以一般其他資料類型的變數也可以被字串相關函數進行處理。

例如:

Substr:字串截取函數

Substr(“要處理的字串”,起始值,截取個數)

如果是整形,因為PHP是弱類型語言,所以會自動類型轉換,被轉換為字串類型

2)字串可以將其視為數組

如下:

 

需要注意的是,雖然字串被視為數組,但是它不是真的數組

如下:使用數組相關函數進行處理的時候,並不能得到正確的結果

因為字串雖然被視為數組,但是並不是真的數組,所以上面的數組函數無效,如果要測量字串的長度,還是得使用字串相關函數。

 

為了區分字串和數組,可以使用(大括弧)花括弧“{}”,這樣簡潔明了

 

3)如果給字串裡面的某一個值賦值,字串值會被改變,字串長度不變

如果是賦值一個字串給另一個字串的某一個字元,那麼也只會有第一個字元被賦值進去

 

4)關於單引號和雙引號

單引號:不會解析變數

雙引號:會解析變數

如果是雙引號裡面的變數,為了簡潔明了,最好用一對花括“{}”弧將變數括起來。

如下:

雙引號裡面除了可以解析變數,還可以解析數組和對象

2.字串相關函數

1)字串輸出相關函數

echo(),print(),die(),printf(),sprint()

echo:用於輸出一個或者多個字串,注意echo可以輸出多個字串,中間用逗號分隔

如果有多個參數輸出的話,使用逗號的效率比點高

 

echo嚴格的來講,不是函數,事實上它是一個語言結構。

所謂語言結構,就是關鍵字。語言結構的執行效率要比函數高,因為函數執行的時候最終也會被轉換為語言結構。

 

Print():功能和echo基本一模一樣,區別就是print()是一個函數,而echo是一個語言結構,所以print的執行效率沒有echo高,還有一點,print()有傳回值,成功返回1,失敗返回0

Die()

Die()函數就是exit()函數的一個別名函數,功能和exit()是一模一樣。如果往該函數裡面傳遞一個字串,則在退出指令碼時會顯示該提示資訊

Printf(),列印,輸出

這個很眼熟,在C語言裡面見過,該語句也是直接從C語言直接借鑒過來的。

 

Sprintf():和printf的功能一模一樣,只不過不輸出,而是通過傳回值的形式將值返回

 

 

2)常用的字串格式化函數

所謂字串格式化,就是指將字串格式為你所需要的格式。

 

去除空格函數

Ltrim():去除左邊空格

Rtrim():去除右邊空格

Trim():去除兩邊的空格,注意

該函數在使用者提交表單的時候用得最多,比如使用者註冊帳號不小心多按了空格,如果不去除,下一次無論怎樣都不能登入。

 

這套函數不會對原來的字串進行改變,而是以傳回值得形式返回處理結果。

Trim()這套函數可以自己定義要去除哪些字元。例如0..9代表過濾數字,A..Z過濾大寫字母 a..z過濾小寫字母 點“ . ” 代表就是過濾字串裡面的 點“ . ”

 

除此之外,trim還支援自訂過濾範圍

3)字串填充函數

Str_pad(要填補的字串,指定長度,填充字元,方向)

方向預設支援3個:STR_PAD_LEFT,STR_PAD_RIGHT,STR_PAD_BOTH

不會改變原來數組的長度

4)字串大小寫轉換

PHP裡面提供4中字串大小寫轉換函式

Strtoupper():全部轉大寫

Strtolower():全部轉小寫

Ucfirst():字串中的第一個單詞的首字母轉換為大寫uc(upper case) 大小寫字母)的簡寫

Ucwords():每個單詞的首字母轉換為大寫

5)和HTML標籤相關的字串格式化函數

nl2br(字串名字)函數:

該函數可以將\n轉換為br,很多編程人員由於以前是寫C的,C語言裡面\n是換行,所以為了迎合他們的習慣,專門有一個這個函數將\n轉換為br

Htmlspecialchars():將預定義字元(主要就是指HTML標籤)轉換為HTML實體

< 轉換為  <

   > 轉換為 >

 

可以讓代碼直接輸出,而不讓瀏覽器解釋,用於防止別人提交的html代碼攻擊。

 

還有一個strip_tags(要處理的字串,要保留的標籤):直接可以刪除字串裡面的HTML標籤

 

strip_tags(要處理的字串,要保留的標籤)

 

其他相關函數

 

Strrev():將字串裡面的字元全部翻轉

Number_format():標準貨幣格式函數

 

Number_format($num,可以選擇保留多少位小數)

 

Number_format($num,可以選擇保留多少位小數,小數位的分隔字元,整數位的分隔字元)

 

Md5()函數:將一個字串進行md5加密處理,預設返回一個32位的十六進位字串

6)字串比較函數

在PHP裡面可以通過(==,<,>)來對字串進行比較

 

除了比較子用來比較字串以外,PHP中還提供了一套字串比較函數用於字串比較。

Strcmp(str1,str2):和C語言裡面是一樣

 

Strcasecmp(str1,str2):忽略字串大小寫進行比較

按照自然排序進行字串比較

“4” “33”

Strnatcmp()

 

字串的分割

正則:

Preg_split(m,n)m代表以什麼進行分割的Regex,n表示被分割的字串名

Explode(分隔字元,字串變數名)將字串分割成數組

Implode():將一個數組合并成一個字串

Implode(串連符號,數組)

 

php字串處理

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.