PHP學習筆記——6.字串

來源:互聯網
上載者:User

標籤:

1.定義方式

①雙引號方式

  例:$str = "hello";

  註:在使用雙引號進行字串定義時,字串內部不能再出現雙引號

  因為PHP會將其當成字串邊界進行解析

  例:$str = " hello,"susan" "; =>hello,

  此時,可對內部雙引號進行轉義,使用\"表示無語義的"

  則:$str = " hello,\"susan\" ";

  其它需要轉義的符號:

  \" => " \n => 換行 \\ => \

  \r => 斷行符號 \$ => $ \‘ => ‘

②單引號方式

  使用單引號定義的字串,PHP不會做複雜的轉義

  只轉義\‘及\\ 其他一律原樣輸出

  單引號字串的$..直接作為字串輸出

  而雙引號會試著將其作為變數進行解析

  如何選擇單/雙引號?

  大段文字,使用單引號,解析快

  而如果確實要在字串中夾雜變數,則需要使用雙引號

③heredoc寫法

  <<<標識符

  大段文本(包含雙引號、單引號)

  標識符; =>一定獨佔一行,且前面沒有任何字元

  功能:與雙引號一致,會解析內部轉義、變數等

④nowdoc寫法

  <<<‘標識符‘

  大段文本

  標識符;

  功能:與單引號一致

2.字串的類數組特性

  例:$str = ‘abcdef‘;

  echo $str[0]; =>a

3.字串長度函數

  strlen(字串變數); =>計算字串位元組數量

  註:UTF-8中一個漢字佔三個位元組

  mb_strlen(字串變數,[字元集]); =>計算字串字元數量

4.尋找字串中子字元位置函數

  strpos(字串變數,‘尋找目標‘,[位移量]); =>從起始開始計算經過多少個字元是目標字元

  註:該函數所尋找的目標是區分大小寫

  若‘尋找目標‘填寫的是整數,則會將整數轉換為ASCII碼

  在ASCII碼中:

  65~90 => A~Z 97~122 => a~z

  在進行if判斷時,若第一個(0)即是目標,則會返回false,此時可適用===進行判斷

  例:if(strpos()===false){

  return false;

  }else{

  return true;

  }

  位移量即略過一定數量再進行尋找

  stripos() =>作用同上,單其尋找的目標不區分大小寫

  strrpos() =>目標字元最後一次出現的位置

  substr_count() =>計算目標出現的次數

5.字串替換函數

  str_replace(‘原始‘,‘替換成‘,字串變數,[替換次數]);

  ‘原始‘及‘替換成‘均可是混合類型,如數組

  若同時替換兩個,每次都是從頭開始找

  strtr(字串變數,‘原始‘,‘替換成‘);

  ‘原始‘與‘替換成‘進行對應,一個字元對應一個字元進行替換

  例:‘hi‘與‘ab‘ 則h=>a i=>b

  實際應用中,可進行全/半形轉換等

6.字串截取函數

  substr(字串變數,從哪開始,[到哪結束]);

  從哪開始 若填寫的是負數,則從右往左進行

  例:substr(‘123456‘,2,-2); =>34

  strstr(字串變數,目標字元,[true]);

  截取 第一次出現的目標字元~結尾 的部分

  若增加true可選項,則是~開頭部分

  strrchr(字串變數,目標字元,[true]);

  截取 最後一次出現的目標字元~結尾 的部分

  實際應用中可用於判斷檔案格式

7.字串的分割、串連、反轉函數

  Ltrim(字串變數,‘需修剪字元‘);

  Rtrim(字串變數,‘需修剪字元‘);

  str_split(字串變數,[n]);

  將字串分割成n個字母一組,總體形成一個數組

  explode(‘分割符‘,字串變數);

  用指定的分割符將字串分成多組,總體形成一個數組

  implode([‘串連符‘],陣列變數);

  用串連符將數組中的所有單元值串連成一個字串

  chunk_split(字串變數,隔幾個字元,[‘增加字元‘]);

  例:chunk_split($str,3,‘,‘); =>為$str字串每隔3個字元添加一個逗號

  若不填增加字元,增自動增加分行符號

  strrev(字串變數); =>反轉字串 abc=>cba

8.字串轉義函數

  addslashes(字串變數);

  在資料庫操作時,諸如單引號等特殊字元會帶來破壞作用,

  當使用者輸入單引號時,可利用該函數在單引號前加\進行轉義

  stripslashes(字串變數);

  將特殊字元轉換為html實體,如 < > => $lt; $gt;

  htmlspecialchars_decode(字串變數);

  將html實體轉換為特殊字元

9.字串比較函數

  strcmp(‘字串1‘,‘字串2‘); =>返回bool值

10.字串轉換函式

  strtolower(字串變數); =>全大寫

  strtoupper(字串變數); =>全小寫

  ucfirst(字串變數); =>首字母大寫

11.系統函數

  pathinfo(字串變數); =>返回其資訊,如名稱、尾碼等

  number_format(字串變數); =>將字串以千分位表示 1,234,567

 

@zhnoah
出處:http://www.cnblogs.com/zhnoah/
本文著作權歸本人和部落格園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連 
接,否則保留追究法律責任的權利。

PHP學習筆記——6.字串

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.