今天開始學PHP 關於字串

2021-10-02 04:46:15 字數 2140 閱讀 7323

現在學習字串,有些常用的東西還是要記錄一下,方便以後呼叫,總覺得越是簡單的東西越容易忘記,就當是給自己留一條後路了。

字串長度問題

1)基本函式strlen():得到字串的長度(位元組為單位)

2)多位元組字串的長度問題:包含中文的長度

3)多位元組字串擴充套件模組:mbstring擴充套件(mb:multi bytes)

首先需要載入php的mbstring擴充套件

可以使用mb擴充套件帶來很多函式

mbstring擴充套件針對的是一些關於字元統計:strlen只是針對標準交換碼ascii,mtstring會針對不同的字符集

字串相關函式

1)轉換函式:implode(), explode(), str_split()

implode(連線方式,陣列):將陣列中的元素按照某個規則連線成乙個字串

explode(分割字元,目標字串):將字串按照某個格式進行分割,變成陣列

中國|北京|順義 == array(『中國』,『北京』,』順義』);

str_split(字串,字元長度):按照指定長度拆分字串得到陣列

2)擷取函式:trim(), ltrim(), rtrim()

trim(字串[,指定字元]):本身預設是用來去除字串兩邊的空格(中間不行),但是也可以指定要去除的內容,是按照指定的內容迴圈去除兩邊有的內容:直到碰到乙個不是目標字元為止

ltrim():去除左邊的

rtrim():去除右邊的

3)擷取函式:substr(), strstr()

substr(字串,起始位置從0開始[,長度]):指定位置開始擷取字串,可以擷取指定長度(不指定到最後)

strstr(字串,匹配字元):從指定位置開始,擷取到最後(可以用來去檔案字尾名)

4)大小轉換函式:strtolower(), strtoupper(), ucfirst()

strtolower:全部小寫

strtoupper:全部大寫

ucfirst:首字母大寫

5)查詢函式:strpos(), strrpos()

strpos(字串,匹配字元):判斷字元在目標字串**現的位置(首次)

strrpos(字串,匹配字元):判斷字元在目標字串中最後出現的位置

6)替換函式:str_replace()

str_replace(匹配目標,替換的內容,字串本身):將目標字串中部分字串進行替換

7)格式化函式:printf(), sprintf()

printf/sprintf(輸出字串有佔位符,順序佔位內容…):格式化輸出資料

8)其他:str_repeat(), str_shuffle()

str_repeat():重複某個字串n次

str_shuffle():隨機打亂字串

今天開始學Java 菜鳥對Scanner的迷惑

本菜鳥初學scanner這個類,對於hasnext 和nextline 這兩個函式弄的不是很清楚 我的重點一直很迷 後面通過實驗發現,如果程式裡面沒有while sc.hasnext 這個迴圈的話,對於string s nextline 這一條函式來說的話就只能取一次值 這裡的一次值是指使用者輸入有...

今天開始學Java 排序演算法之堆排序

大頂堆用於公升序排列 經過多次比較把最大的元素放到根結點 相當於找到序列裡面的最大元素 然後再將這個最大元素放到葉結點,這個葉結點就固定不動了,繼續比較其它結點,從剩下的結點裡面供乙個最大元素出來放到根結點,依次迴圈。public class insertsort change the top to...

今天開始學Java 排序演算法之歸併排序

思路 它的最直觀的想法是將兩個有序子串行通過從左到右兩兩元素相互比較的排序的方法,那麼如果使兩個子串行有序呢,那就再將這兩個子串行兩兩分,一直分下去的話最後就得到長度為1的各個子串行,這時就相當於每個子串行都是有序的了,最後按照之前的最直觀的想法兩兩比較合併。甩上 來 public static v...