三 字串 一

2021-06-02 05:53:08 字數 3460 閱讀 3667

三、字串

1。直接量三種寫法:(1)單引號,不會替換變數,且只支援\'   \\ 兩個轉譯字元

(2)雙引號,會進行變數替換,雙引號能支援除了\' 以外的所有轉譯符

(3)heredoc,比如:

$string =<<<end_of_string

haha hehe hoho....

hehe

end_of_string;

其中end_of_string可以被任意字串替代。heredoc會進行變數替換。字元比如單引號、雙引號、空格等都會被保留

(4)  

2。echo:                   不是函式,而是語言結構,所以不可以將它做為表示式。比如if(echo 'test')會解析出錯

3。訪問單個字元:$str = "haha"; echo$str;// h

4。刪除空白符:trim(string [,charlist]); ltrim(), rtrim();   p82

<?php

$string = "aaaabbbbbbaaaaaadddda";

$string1 =trim($string,"a");//將兩邊的a都去掉

echo $string1;              //bbbbbbaaaaaadddd

echo $string;               //不變還是aaaabbbbbbaaaaaadddda

?>

5. 改變大小寫:strtolower() strtoupper()操作整個字串,ucfirst()只操作字串的第乙個字母,ucwords()操作每乙個單詞的第乙個字母

6。html編碼:htmlentities() htmlspecialchars() html_entity_decode()

7。刪除html標籤:strip_tags($html_string, $reserve_string);第二個引數指定要留下的標籤。

8。url編碼urlencode(),urldecode(),rawurlencode(),rawurldecode().

(1) 兩種編碼方式不同點是處理空格,前者編碼為+,後者是%20

(2) 中文也會被編碼成%dd%dd的形式。

(3) 不要對乙個完整的url使用這些函式,因為它門會轉移冒號和反斜槓.應該只編碼部分url,然後在之前加上協議和網域名稱

<?php

$name = "php 程式設計";

$output =urlencode($name);

echo "";

//php+%b3%cc%d0%f2%c9%e8%bc%c6

?>

9.比較字串:(1) 比較操作符。< , >等比較操作符的乙個引數是數字時,其他引數也將被轉換為數字型別,所以"php" < 1.「php」被轉換為0.

而==比較操作符,當乙個是數字,另乙個是字串時,將數字轉換為字串。

(2)strcmp()區分大小寫,strcasecmp()不區分大小寫,它在比較之前,將字串轉換為小寫。

(3)strncmp(string1,string2,len),strncasecmp(string1,string2,len)只比較前面len個字元

(4)strnatcmp(),strnatcasecmp()進行自然順序的比較

10。子串獲取:$piece =substr(string,start [, length]);

11. 字串的插入刪除:substr_replace(orginal_string, new_string, start [, length]).

該函式首先將original_string從start開始刪除length個字元,然後再start處插入new_string.這個函式有以下幾種用法:

(1).普通操作:

<?php

$greeting = "good morning citizen";

echosubstr_replace($greeting,"bye",5,7);//good bye citizen

?>

(2).插入:無刪除的插入,只需要設定length為0

$greeting = "good morning citizen";

//good bye morning citizen

substr_replace($greeting,"bye",5,0);

(3).刪除:將某一段子串刪除,只需將第二個引數new_string設定為""

substr_replace($greeting,"",5,7);     //good citizen

substr_replace($greeting,"",5);      //good

另外,start和length都可以是負值,表示從字串末尾開始計數。

12。字串的填充:str_pad(original_string, to_length [, pad_string,str_pad_right | str_pad_right_left | str_pad_both ]);

(1) 該函式將original_string用pad_string填充成to_length長的字串,預設為str_pad_right,即右邊

(2) 如果沒有引數pad_string,則預設是以空格加在字串的右邊

<?php

echo str_pad('haha',30)."end"; //haha                          end

echo str_pad('haha',30,'.')."end";   //haha..........................end

?>

13. 字串的翻**strrev(string);

14. 重複字元組成的字串:str_repeat(string,count);比如,建立乙個分割符:str_repeat('-',30);

三 字串操作

windows核心編碼字符集採用unicode字符集,字串處理使用unicode string,是乙個結構體,定義如下 typedef struct unicode string unicode string length 字串長度,maximumlength 字串緩衝區長度,buffer 字串緩衝...

三 字串補充

1 輸出函式中的字串的格式化 之前有簡單地使用了說明了prin函式中字串的拼接。name xiong age 21 男 high 175weight 56 print 我姓 s,性別 s,今年 s歲,身高 scm,體重 skg。name,age,high,weight 為了保證絕對正確。只需要將上面...

三 字串 向量 陣列

直接初始化和拷貝初始化 string s1 10,c string s2 string 10,c 會影響效能 s1.size 返回物件中字元的個數,型別為string size type,是無符號型別,不要與有符號型別混用 範圍 for string str some string for auto...