天天看點

PHP 字元串

引用字元串

1.使用單引号包含字元串。

//單引号表示一個字元串

$name = 'Mr.Lee'; 

//單引号包含的變量不會解析

echo 'This is $name';

//使用.連接配接符将變量放在字元串外部

echo 'This is '.$name;

2.使用雙引号包含字元串。

//在沒有變量的字元串,單引号和雙引号無差別

$name = 'Mr.Lee';

//将雙引号的變量進行解析

echo "This is $name";

3.單引号的轉義字元。

//使用斜杠轉義單引号

echo 'This\'s Mr.Lee';

echo 'This is \\Mr.Lee';

4.雙引号的轉義字元。

雙引号除了可以解析變量,還可以轉義比如雙引号本身一起更多的一些轉義字元。

5.here 文檔可以将多行字元串作為整體存放。

//多行字元串

$info = <<< HERE

這是一個文檔。

并且有多行。

是的。

HERE;

echo $info;

輸出字元串

我們之前已經講解過多個字元串輸出的方式:echo、print_r、var_dump、var_export

等等,這些也是比較常用的輸出方法。這裡呢,我們再補充幾個其他的輸出方式。

1.使用 print 函數進行輸出。

//輸出字元串

print('輸出字元串');

2.使用 printf 函數可以格式化輸出字元串

3.使用 sprintf 函數可以格式化輸出字元串

4.使用 vprintf 函數格式化輸出字元串

HTML 實體

使用 htmlentities 函數将 HTML 實體轉換成對應的實體。

使用 htmlspecialchars 函數轉換實體集來生成合法的 HTML。

使用 htmlspecialchars_decode 函數将字型換成普通字元

HTML 标簽

 1.使用 strip_tags 函數删除字元串中的 HTML 标簽

 2.使用 get_meta_tags 函數得到網站的 meta tag 中繼資料

 3.使用 get_headers 函數擷取網站的标頭資訊

URL 編碼

1.使用 rawurlencode 函數對字元串進行 URL 編碼

//進行編碼,空格和中文被編碼,英文和數字不變

2.使用 rawurldecode 函數進行 URL 字元串進行解碼。

//對編碼的部分進行字元串解碼

3.使用 urlencode 函數編碼 URL 字元串。

//和 rawurlencode 不同僅僅是把空格編碼為+号,而不是%20

4.使用 urldecode 解碼 URL 字元串

//解碼 URL 字元串

SQL 編碼

1.使用 addslashes 函數添加轉義反斜杠。

2.使用 stripslashes 函數删除轉義反斜杠。

Base64 編碼

使用 base64_encode 函數進行對資料進行編碼。

使用 base64_decode 函數進行對資料進行解碼。

使用 http_build_query 函數生成 URL 的請求字元串

使用 parse_url 函數解析 URL 位址

字元串長度

1.使用 strlen 函數可以擷取目前字元串長度。

//18 個字元的字元串,空格也算

//在 UTF8 下,一個中文字元占 3 個長度

//在 GBK 下,一個中文字元占 2 個長度

2.使用 mb_strlen 函數擷取目前字元串長度

3.使用 mb_internal_encoding 擷取目前字元編碼

清理空白符号

使用 trim 函數清理字元串左右空白

大小寫轉換

使用 strtolower 函數将字元轉換為小寫

使用 strtoupper 函數将字元轉換為大寫

使用 ucfirst 函數将首字母大寫

使用 lcfirst 函數将首字母小寫

使用 ucwords 函數将每個單詞的首字母大寫

使用 mb_convert_case 函數對字元串進行大小寫操作

格式化操作

使用 nl2br 函數将換行符轉換為<br>。

使用 wordwrap 函數可以讓字元串在指定的位置上強制換行

使用 strrev 函數反轉字元串

替換操作

使用 substr 函數傳回字元串的子串。

2.使用 mb_substr 函數傳回字元串的字串

3.使用 str_replace 函數替換指定的字元串

4.使用 substr_replace 函數替換字元串的字串

填充操作

1.使用 str_repeat 函數可以重複字元串

2.使用 str_pad 函數填充字元串

比較操作

1.使用 strcmp 函數進行二進制的字元串比較。

2.使用 strncmp 函數可以指定長度進行二進制字元串比較

3.使用 strnatcmp 函數可以進行自然排序算法的二進制比較

查找操作

1.使用 strpos 函數查找字元串首次的位置

2.使用 strrpos 函數查找最後一次出現的位置

3.使用 strstr 函數傳回字元串首次出現的位置并傳回之後的字元串。

4.使用 strrchr 函數找到字元串最後一次出現的位置并傳回之後的字元串

統計操作

1.使用 substr_count 函數統計字元串出現的次數

2.使用 str_word_count 函數了解每個單詞的使用情況。

分解操作

1.使用 explode 函數分割字元串。

//字元串

$info = 'This is a teacher!';

//按照空格分割

$array = explode(' ', $info);

//輸出

print_r($array);

2.使用 str_split 函數将字元串轉化為數組。

//按照每個位元組進行分割

print_r(str_split($info, 1));

3.使用 chunk_split 函數将字元串分割才成小塊。

//按 5 個位元組分割,并換行

echo chunk_split($info, 5, '<br>');

4.使用 strtok 函數分割字元串

//第一次傳遞兩個參數

$token = strtok($info, ' ');

//循環輸出,如果值不為 false

while ($token != false) {

echo $token.'<br>';

//第二次隻傳分割字元串,自動會擷取剩餘的字元串

$token = strtok(' ');

}

5.使用 sscanf 函數按照指定格式進行分割。

$info = 'This is a teacher! 30';

//按格式分割

$array = sscanf($info, '%s%s%s%s%d');

合并操作

1.使用 implode 函數合并字元串。

//數組

$array = array('color', 'blue', 'green');

//用逗号分割數組元素

$info = implode(',', $array);

加密操作

1.使用 md5 函數對字元串加密 輸出 32 位加密字元串

2.使用 sha1 函數加密字元串 輸出 40 位加密密碼

3.使用 crc32 函數傳回一個校驗整數

4.使用 hash 函數生成哈希值

鹽值操作

由于 md5 和 sha1 等單純的加密方式已被破解,是以真正想實作不可逆的加密,需要給

加密的資料增加一些東西。這些東西,我們稱作為鹽。

//定義一個密鑰

$salt = 'ycku.com';

//密碼明文

$password = '123456';

//輸出加密

echo md5($salt.$password);

補全函數

1.使用 ord 函數輸出字元的 ASCII 碼值。

//輸出 97

echo ord('a');

2.使用 chr 函數傳回 ASCII 碼的字元。

//輸出 a

echo chr(97);

3.使用 str_shuffle 函數随機排列字元串。

//随機排列字元串

4.使用 strpbrk 函數從一組字元中比對并傳回餘後的字元串。

//先遇到哪個字元就比對哪個字元

echo strpbrk($info, 'miT');

5.使用 crypt 函數給字元串加密。

//設定密碼

$password = 'mypassword';

//設定密鑰

//擷取散列值,添加鹽值

$hash = crypt($password, $salt);

echo $hash;