溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP 字符串

發(fā)布時(shí)間:2020-09-29 09:40:24 來(lái)源:網(wǎng)絡(luò) 閱讀:683 作者:菜鳥不菜么 欄目:web開發(fā)


引用字符串

1.使用單引號(hào)包含字符串。

//單引號(hào)表示一個(gè)字符串

$name = 'Mr.Lee'; 

//單引號(hào)包含的變量不會(huì)解析

echo 'This is $name';

//使用.連接符將變量放在字符串外部

echo 'This is '.$name;

2.使用雙引號(hào)包含字符串。

//在沒有變量的字符串,單引號(hào)和雙引號(hào)無(wú)區(qū)別

$name = 'Mr.Lee';

//將雙引號(hào)的變量進(jìn)行解析

echo "This is $name";

3.單引號(hào)的轉(zhuǎn)義字符。

//使用斜杠轉(zhuǎn)義單引號(hào)

echo 'This\'s Mr.Lee';

echo 'This is \\Mr.Lee';

4.雙引號(hào)的轉(zhuǎn)義字符。

雙引號(hào)除了可以解析變量,還可以轉(zhuǎn)義比如雙引號(hào)本身一起更多的一些轉(zhuǎn)義字符。

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

//多行字符串

$info = <<< HERE

這是一個(gè)文檔。

并且有多行。

是的。

HERE;

echo $info;


輸出字符串

我們之前已經(jīng)講解過(guò)多個(gè)字符串輸出的方式:echo、print_r、var_dump、var_export

等等,這些也是比較常用的輸出方法。這里呢,我們?cè)傺a(bǔ)充幾個(gè)其他的輸出方式。

1.使用 print 函數(shù)進(jìn)行輸出。

//輸出字符串

print('輸出字符串');

2.使用 printf 函數(shù)可以格式化輸出字符串

3.使用 sprintf 函數(shù)可以格式化輸出字符串

4.使用 vprintf 函數(shù)格式化輸出字符串


HTML 實(shí)體

  1. 使用 htmlentities 函數(shù)將 HTML 實(shí)體轉(zhuǎn)換成對(duì)應(yīng)的實(shí)體。

  2. 使用 htmlspecialchars 函數(shù)轉(zhuǎn)換實(shí)體集來(lái)生成合法的 HTML。

  3. 使用 htmlspecialchars_decode 函數(shù)將字體換成普通字符


HTML 標(biāo)簽

 1.使用 strip_tags 函數(shù)刪除字符串中的 HTML 標(biāo)簽

 2.使用 get_meta_tags 函數(shù)得到網(wǎng)站的 meta tag 元數(shù)據(jù)

 3.使用 get_headers 函數(shù)獲取網(wǎng)站的標(biāo)頭信息


URL 編碼

1.使用 rawurlencode 函數(shù)對(duì)字符串進(jìn)行 URL 編碼

//進(jìn)行編碼,空格和中文被編碼,英文和數(shù)字不變

2.使用 rawurldecode 函數(shù)進(jìn)行 URL 字符串進(jìn)行解碼。

//對(duì)編碼的部分進(jìn)行字符串解碼

3.使用 urlencode 函數(shù)編碼 URL 字符串。

//和 rawurlencode 不同僅僅是把空格編碼為+號(hào),而不是%20

4.使用 urldecode 解碼 URL 字符串

//解碼 URL 字符串


SQL 編碼

1.使用 addslashes 函數(shù)添加轉(zhuǎn)義反斜杠。

2.使用 stripslashes 函數(shù)刪除轉(zhuǎn)義反斜杠。


Base64 編碼

  1. 使用 base64_encode 函數(shù)進(jìn)行對(duì)數(shù)據(jù)進(jìn)行編碼。

  2. 使用 base64_decode 函數(shù)進(jìn)行對(duì)數(shù)據(jù)進(jìn)行解碼。


URL 編碼

  1. 使用 http_build_query 函數(shù)生成 URL 的請(qǐng)求字符串

  2. 使用 parse_url 函數(shù)解析 URL 地址


字符串長(zhǎng)度

1.使用 strlen 函數(shù)可以獲取當(dāng)前字符串長(zhǎng)度。

//18 個(gè)字符的字符串,空格也算

//在 UTF8 下,一個(gè)中文字符占 3 個(gè)長(zhǎng)度

//在 GBK 下,一個(gè)中文字符占 2 個(gè)長(zhǎng)度

2.使用 mb_strlen 函數(shù)獲取當(dāng)前字符串長(zhǎng)度

3.使用 mb_internal_encoding 獲取當(dāng)前字符編碼


清理空白符號(hào)

  1. 使用 trim 函數(shù)清理字符串左右空白

大小寫轉(zhuǎn)換

  1. 使用 strtolower 函數(shù)將字符轉(zhuǎn)換為小寫

  2. 使用 strtoupper 函數(shù)將字符轉(zhuǎn)換為大寫

  3. 使用 ucfirst 函數(shù)將首字母大寫

  4. 使用 lcfirst 函數(shù)將首字母小寫

  5. 使用 ucwords 函數(shù)將每個(gè)單詞的首字母大寫

  6. 使用 mb_convert_case 函數(shù)對(duì)字符串進(jìn)行大小寫操作


格式化操作

  1. 使用 nl2br 函數(shù)將換行符轉(zhuǎn)換為<br>。

  2. 使用 wordwrap 函數(shù)可以讓字符串在指定的位置上強(qiáng)制換行

  3. 使用 strrev 函數(shù)反轉(zhuǎn)字符串


替換操作

  1. 使用 substr 函數(shù)返回字符串的子串。

2.使用 mb_substr 函數(shù)返回字符串的字串

3.使用 str_replace 函數(shù)替換指定的字符串

4.使用 substr_replace 函數(shù)替換字符串的字串


填充操作

1.使用 str_repeat 函數(shù)可以重復(fù)字符串

2.使用 str_pad 函數(shù)填充字符串


比較操作

1.使用 strcmp 函數(shù)進(jìn)行二進(jìn)制的字符串比較。

2.使用 strncmp 函數(shù)可以指定長(zhǎng)度進(jìn)行二進(jìn)制字符串比較

3.使用 strnatcmp 函數(shù)可以進(jìn)行自然排序算法的二進(jìn)制比較


查找操作

1.使用 strpos 函數(shù)查找字符串首次的位置

2.使用 strrpos 函數(shù)查找最后一次出現(xiàn)的位置

3.使用 strstr 函數(shù)返回字符串首次出現(xiàn)的位置并返回之后的字符串。

4.使用 strrchr 函數(shù)找到字符串最后一次出現(xiàn)的位置并返回之后的字符串


統(tǒng)計(jì)操作

1.使用 substr_count 函數(shù)統(tǒng)計(jì)字符串出現(xiàn)的次數(shù)

2.使用 str_word_count 函數(shù)了解每個(gè)單詞的使用情況。


分解操作

1.使用 explode 函數(shù)分割字符串。

//字符串

$info = 'This is a teacher!';

//按照空格分割

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

//輸出

print_r($array);

2.使用 str_split 函數(shù)將字符串轉(zhuǎn)化為數(shù)組。

//字符串

$info = 'This is a teacher!';

//按照每個(gè)字節(jié)進(jìn)行分割

print_r(str_split($info, 1));

3.使用 chunk_split 函數(shù)將字符串分割才成小塊。

//字符串

$info = 'This is a teacher!';

//按 5 個(gè)字節(jié)分割,并換行

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

4.使用 strtok 函數(shù)分割字符串

//字符串

$info = 'This is a teacher!';

//第一次傳遞兩個(gè)參數(shù)

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

//循環(huán)輸出,如果值不為 false

while ($token != false) {

echo $token.'<br>';

//第二次只傳分割字符串,自動(dòng)會(huì)獲取剩余的字符串

$token = strtok(' ');

}

5.使用 sscanf 函數(shù)按照指定格式進(jìn)行分割。

//字符串

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

//按格式分割

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

//輸出

print_r($array);



合并操作

1.使用 implode 函數(shù)合并字符串。

//數(shù)組

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

//用逗號(hào)分割數(shù)組元素

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

//輸出

echo $info;



加密操作

1.使用 md5 函數(shù)對(duì)字符串加密 輸出 32 位加密字符串

2.使用 sha1 函數(shù)加密字符串 輸出 40 位加密密碼

3.使用 crc32 函數(shù)返回一個(gè)校驗(yàn)整數(shù)

4.使用 hash 函數(shù)生成哈希值


鹽值操作

由于 md5 和 sha1 等單純的加密方式已被破解,所以真正想實(shí)現(xiàn)不可逆的加密,需要給

加密的數(shù)據(jù)增加一些東西。這些東西,我們稱作為鹽。

//定義一個(gè)密鑰

$salt = 'ycku.com';

//密碼明文

$password = '123456';

//輸出加密

echo md5($salt.$password);


補(bǔ)全函數(shù)

1.使用 ord 函數(shù)輸出字符的 ASCII 碼值。

//輸出 97

echo ord('a');

2.使用 chr 函數(shù)返回 ASCII 碼的字符。

//輸出 a

echo chr(97);

3.使用 str_shuffle 函數(shù)隨機(jī)排列字符串。

//隨機(jī)排列字符串

4.使用 strpbrk 函數(shù)從一組字符中匹配并返回余后的字符串。

//字符串

$info = 'This is a teacher!';

//先遇到哪個(gè)字符就匹配哪個(gè)字符

echo strpbrk($info, 'miT');

5.使用 crypt 函數(shù)給字符串加密。

//設(shè)置密碼

$password = 'mypassword';

//設(shè)置密鑰

$salt = 'ycku.com';

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

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

//輸出

echo $hash;


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI