[TOC]
字符串(string)是PHP中重要的數據類型之一。
字符串就是一系列字符。一個字符串可以只是一個字符,也 可以非常巨大,由任意多個字符組成。
## 語法
一個字符串可以用 3 種方式表達:
1. 單引號
2. 雙引號
3. 定界符
~~~
<?php
$str = '學并思';
$str = "學并思";
$str = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
~~~
注意:字符如果由雙引號括起來,里面有變量,可以進行解析。雙引號字符串最重要的一點是其中的變量名會被變量值替代,必要時需要加{}把變量名括起來。
>[danger] 反斜杠\:處理文件特殊字符時,可以用反斜杠進行轉義。
## String 函數
PHP 字符串函數是 PHP 核心的組成部分。無需安裝即可使用這些函數
<table class="dataintable">
<tbody>
<tr>
<th>
函數
</th>
<th>
描述
</th>
</tr>
<tr>
<td>
<a>
addcslashes()
</a>
</td>
<td>
返回在指定的字符前添加反斜杠的字符串。
</td>
</tr>
<tr>
<td>
<a>
addslashes()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>返回在預定義的字符前添加反斜杠的字符串。
</td>
</tr>
<tr>
<td>
<a>
bin2hex()
</a>
</td>
<td>
把 ASCII 字符的字符串轉換為十六進制值。
</td>
</tr>
<tr>
<td>
<a>
chop()
</a>
</td>
<td>
刪除字符串右側的空白字符或其他字符。
</td>
</tr>
<tr>
<td>
<a>
chr()
</a>
</td>
<td>
從指定的 ASCII 值返回字符。
</td>
</tr>
<tr>
<td>
<a>
chunk_split()
</a>
</td>
<td>
把字符串分割為一系列更小的部分。
</td>
</tr>
<tr>
<td>
<a>
convert_cyr_string()
</a>
</td>
<td>
把字符串由一種 Cyrillic 字符集轉換為另一種。
</td>
</tr>
<tr>
<td>
<a>
convert_uudecode()
</a>
</td>
<td>
解碼 uuencode 編碼字符串。
</td>
</tr>
<tr>
<td>
<a>
convert_uuencode()
</a>
</td>
<td>
使用 uuencode 算法對字符串進行編碼。
</td>
</tr>
<tr>
<td>
<a>
count_chars()
</a>
</td>
<td>
返回有關字符串中所用字符的信息。
</td>
</tr>
<tr>
<td>
<a>
crc32()
</a>
</td>
<td>
計算字符串的 32 位 CRC。
</td>
</tr>
<tr>
<td>
<a>
crypt()
</a>
</td>
<td>
單向的字符串加密法(hashing)。
</td>
</tr>
<tr>
<td>
<a>
echo()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>輸出一個或多個字符串。
</td>
</tr>
<tr>
<td>
<a>
explode()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>把字符串打散為數組。
</td>
</tr>
<tr>
<td>
<a>
fprintf()
</a>
</td>
<td>
把格式化的字符串寫入到指定的輸出流。
</td>
</tr>
<tr>
<td>
<a>
get_html_translation_table()
</a>
</td>
<td>
返回由 htmlspecialchars() 和 htmlentities() 使用的翻譯表。
</td>
</tr>
<tr>
<td>
<a>
hebrev()
</a>
</td>
<td>
把希伯來文本轉換為可見文本。
</td>
</tr>
<tr>
<td>
<a>
hebrevc()
</a>
</td>
<td>
把希伯來文本轉換為可見文本,并把新行(\n)轉換為 <br>。
</td>
</tr>
<tr>
<td>
<a>
hex2bin()
</a>
</td>
<td>
把十六進制值的字符串轉換為 ASCII 字符。
</td>
</tr>
<tr>
<td>
<a>
html_entity_decode()
</a>
</td>
<td>
把 HTML 實體轉換為字符。
</td>
</tr>
<tr>
<td>
<a>
htmlentities()
</a>
</td>
<td>
把字符轉換為 HTML 實體。
</td>
</tr>
<tr>
<td>
<a>
htmlspecialchars_decode()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>把一些預定義的 HTML 實體轉換為字符。
</td>
</tr>
<tr>
<td>
<a>
htmlspecialchars()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>把一些預定義的字符轉換為 HTML 實體。
</td>
</tr>
<tr>
<td>
<a>
implode()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>返回由數組元素組合成的字符串。
</td>
</tr>
<tr>
<td>
<a>
join()
</a>
</td>
<td>
implode() 的別名。
</td>
</tr>
<tr>
<td>
<a>
lcfirst()
</a>
</td>
<td>
把字符串的首字符轉換為小寫。
</td>
</tr>
<tr>
<td>
<a>
levenshtein()
</a>
</td>
<td>
返回兩個字符串之間的 Levenshtein 距離。
</td>
</tr>
<tr>
<td>
<a>
localeconv()
</a>
</td>
<td>
返回本地數字及貨幣格式信息。
</td>
</tr>
<tr>
<td>
<a>
ltrim()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>移除字符串左側的空白字符或其他字符。
</td>
</tr>
<tr>
<td>
<a>
md5()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>計算字符串的 MD5 散列。
</td>
</tr>
<tr>
<td>
<a>
md5_file()
</a>
</td>
<td>
計算文件的 MD5 散列。
</td>
</tr>
<tr>
<td>
<a>
metaphone()
</a>
</td>
<td>
計算字符串的 metaphone 鍵。
</td>
</tr>
<tr>
<td>
<a>
money_format()
</a>
</td>
<td>
返回格式化為貨幣字符串的字符串。
</td>
</tr>
<tr>
<td>
<a>
nl_langinfo()
</a>
</td>
<td>
返回特定的本地信息。
</td>
</tr>
<tr>
<td>
<a>
nl2br()
</a>
</td>
<td>
在字符串中的每個新行之前插入 HTML 換行符。
</td>
</tr>
<tr>
<td>
<a>
number_format()
</a>
</td>
<td>
以千位分組來格式化數字。
</td>
</tr>
<tr>
<td>
<a>
ord()
</a>
</td>
<td>
返回字符串中第一個字符的 ASCII 值。
</td>
</tr>
<tr>
<td>
<a>
parse_str()
</a>
</td>
<td>
把查詢字符串解析到變量中。
</td>
</tr>
<tr>
<td>
<a>
print()
</a>
</td>
<td>
輸出一個或多個字符串。
</td>
</tr>
<tr>
<td>
<a>
printf()
</a>
</td>
<td>
輸出格式化的字符串。
</td>
</tr>
<tr>
<td>
<a>
quoted_printable_decode()
</a>
</td>
<td>
把 quoted-printable 字符串轉換為 8 位字符串。
</td>
</tr>
<tr>
<td>
<a>
quoted_printable_encode()
</a>
</td>
<td>
把 8 位字符串轉換為 quoted-printable 字符串。
</td>
</tr>
<tr>
<td>
<a>
quotemeta()
</a>
</td>
<td>
引用元字符。
</td>
</tr>
<tr>
<td>
<a>
rtrim()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>移除字符串右側的空白字符或其他字符。
</td>
</tr>
<tr>
<td>
<a>
setlocale()
</a>
</td>
<td>
設置地區信息(地域信息)。
</td>
</tr>
<tr>
<td>
<a>
sha1()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>計算字符串的 SHA-1 散列。
</td>
</tr>
<tr>
<td>
<a>
sha1_file()
</a>
</td>
<td>
計算文件的 SHA-1 散列。
</td>
</tr>
<tr>
<td>
<a>
similar_text()
</a>
</td>
<td>
計算兩個字符串的相似度。
</td>
</tr>
<tr>
<td>
<a>
soundex()
</a>
</td>
<td>
計算字符串的 soundex 鍵。
</td>
</tr>
<tr>
<td>
<a>
sprintf()
</a>
</td>
<td>
把格式化的字符串寫入變量中。
</td>
</tr>
<tr>
<td>
<a>
sscanf()
</a>
</td>
<td>
根據指定的格式解析來自字符串的輸入。
</td>
</tr>
<tr>
<td>
<a>
str_getcsv()
</a>
</td>
<td>
把 CSV 字符串解析到數組中。
</td>
</tr>
<tr>
<td>
<a>
str_ireplace()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>替換字符串中的一些字符(對大小寫不敏感)。
</td>
</tr>
<tr>
<td>
<a>
str_pad()
</a>
</td>
<td>
把字符串填充為新的長度。
</td>
</tr>
<tr>
<td>
<a>
str_repeat()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>把字符串重復指定的次數。
</td>
</tr>
<tr>
<td>
<a>
str_replace()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>替換字符串中的一些字符(對大小寫敏感)。
</td>
</tr>
<tr>
<td>
<a>
str_rot13()
</a>
</td>
<td>
對字符串執行 ROT13 編碼。
</td>
</tr>
<tr>
<td>
<a>
str_shuffle()
</a>
</td>
<td>
隨機地打亂字符串中的所有字符。
</td>
</tr>
<tr>
<td>
<a>
str_split()
</a>
</td>
<td>
把字符串分割到數組中。
</td>
</tr>
<tr>
<td>
<a>
str_word_count()
</a>
</td>
<td>
計算字符串中的單詞數。
</td>
</tr>
<tr>
<td>
<a>
strcasecmp()
</a>
</td>
<td>
比較兩個字符串(對大小寫不敏感)。
</td>
</tr>
<tr>
<td>
<a>
strchr()
</a>
</td>
<td>
查找字符串在另一字符串中的第一次出現。(strstr() 的別名。)
</td>
</tr>
<tr>
<td>
<a>
strcmp()
</a>
</td>
<td>
比較兩個字符串(對大小寫敏感)。
</td>
</tr>
<tr>
<td>
<a>
strcoll()
</a>
</td>
<td>
比較兩個字符串(根據本地設置)。
</td>
</tr>
<tr>
<td>
<a>
strcspn()
</a>
</td>
<td>
返回在找到某些指定字符的任何部分之前,在字符串中查找的字符數。
</td>
</tr>
<tr>
<td>
<a>
strip_tags()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>剝去字符串中的 HTML 和 PHP 標簽。
</td>
</tr>
<tr>
<td>
<a>
stripcslashes()
</a>
</td>
<td>
刪除由 addcslashes() 函數添加的反斜杠。
</td>
</tr>
<tr>
<td>
<a>
stripslashes()
</a>
</td>
<td>
刪除由 addslashes() 函數添加的反斜杠。
</td>
</tr>
<tr>
<td>
<a>
stripos()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>返回字符串在另一字符串中第一次出現的位置(對大小寫不敏感)。
</td>
</tr>
<tr>
<td>
<a>
stristr()
</a>
</td>
<td>
查找字符串在另一字符串中第一次出現的位置(大小寫不敏感)。
</td>
</tr>
<tr>
<td>
<a>
strlen()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>返回字符串的長度。
</td>
</tr>
<tr>
<td>
<a>
strnatcasecmp()
</a>
</td>
<td>
使用一種"自然排序"算法來比較兩個字符串(對大小寫不敏感)。
</td>
</tr>
<tr>
<td>
<a>
strnatcmp()
</a>
</td>
<td>
使用一種"自然排序"算法來比較兩個字符串(對大小寫敏感)。
</td>
</tr>
<tr>
<td>
<a>
strncasecmp()
</a>
</td>
<td>
前 n 個字符的字符串比較(對大小寫不敏感)。
</td>
</tr>
<tr>
<td>
<a>
strncmp()
</a>
</td>
<td>
前 n 個字符的字符串比較(對大小寫敏感)。
</td>
</tr>
<tr>
<td>
<a>
strpbrk()
</a>
</td>
<td>
在字符串中查找一組字符的任何一個字符。
</td>
</tr>
<tr>
<td>
<a>
strpos()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>返回字符串在另一字符串中第一次出現的位置(對大小寫敏感)。
</td>
</tr>
<tr>
<td>
<a>
strrchr()
</a>
</td>
<td>
查找字符串在另一個字符串中最后一次出現。
</td>
</tr>
<tr>
<td>
<a>
strrev()
</a>
</td>
<td>
反轉字符串。
</td>
</tr>
<tr>
<td>
<a>
strripos()
</a>
</td>
<td>
查找字符串在另一字符串中最后一次出現的位置(對大小寫不敏感)。
</td>
</tr>
<tr>
<td>
<a>
strrpos()
</a>
</td>
<td>
查找字符串在另一字符串中最后一次出現的位置(對大小寫敏感)。
</td>
</tr>
<tr>
<td>
<a>
strspn()
</a>
</td>
<td>
返回在字符串中包含的特定字符的數目。
</td>
</tr>
<tr>
<td>
<a>
strstr()
</a>
</td>
<td>
查找字符串在另一字符串中的第一次出現(對大小寫敏感)。
</td>
</tr>
<tr>
<td>
<a>
strtok()
</a>
</td>
<td>
把字符串分割為更小的字符串。
</td>
</tr>
<tr>
<td>
<a>
strtolower()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>把字符串轉換為小寫字母。
</td>
</tr>
<tr>
<td>
<a>
strtoupper()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>把字符串轉換為大寫字母。
</td>
</tr>
<tr>
<td>
<a>
strtr()
</a>
</td>
<td>
轉換字符串中特定的字符。
</td>
</tr>
<tr>
<td>
<a>
substr()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>返回字符串的一部分。
</td>
</tr>
<tr>
<td>
<a>
substr_compare()
</a>
</td>
<td>
從指定的開始位置(二進制安全和選擇性區分大小寫)比較兩個字符串。
</td>
</tr>
<tr>
<td>
<a>
substr_count()
</a>
</td>
<td>
計算子串在字符串中出現的次數。
</td>
</tr>
<tr>
<td>
<a>
substr_replace()
</a>
</td>
<td>
把字符串的一部分替換為另一個字符串。
</td>
</tr>
<tr>
<td>
<a>
trim()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>移除字符串兩側的空白字符和其他字符。
</td>
</tr>
<tr>
<td>
<a>
ucfirst()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>把字符串中的首字符轉換為大寫。
</td>
</tr>
<tr>
<td>
<a>
ucwords()
</a>
</td>
<td>
<code class=" language-php">(注意)</code>把字符串中每個單詞的首字符轉換為大寫。
</td>
</tr>
<tr>
<td>
<a>
vfprintf()
</a>
</td>
<td>
把格式化的字符串寫到指定的輸出流。
</td>
</tr>
<tr>
<td>
<a>
vprintf()
</a>
</td>
<td>
輸出格式化的字符串。
</td>
</tr>
<tr>
<td>
<a>
vsprintf()
</a>
</td>
<td>
把格式化字符串寫入變量中。
</td>
</tr>
<tr>
<td>
<a>
wordwrap()
</a>
</td>
<td>
打斷字符串為指定數量的字串
</td>
</tr>
</tbody>
</table>
>[danger] 練習:將提交的$_POST['message']進行實體與轉義處理
創建一個檢測文件擴展名是否為圖片的函數。
- 序言
- 第一章:準備工作
- 寫在學習之前的話
- web應用開發結構
- 開發工具/環境
- 第二章:展現層面(HTML/CSS)
- HTML簡介
- HTML基礎
- HTML編碼
- HTML鏈接
- HTML圖像
- HTML列表
- HTML表單
- HTML表格(分水嶺)
- HTML 實體
- HTML框架
- CSS層疊樣式表
- CSS選擇器
- CSS文本/字體
- CSS繼承和疊加
- CSS框模型
- CSS浮動(分水嶺)
- CSS定位
- CSS背景
- CSS圖標字體
- CSS補充
- 開發技巧
- 第三章:展現層面(Javascript)
- JS簡介
- JS實現
- JS輸出交互
- JS變量
- JS數據類型
- JS運算符
- JS流程控制(分水嶺)
- JS函數
- JS數組
- JS對象(分水嶺)
- JS數組對象
- JS字符串對象
- JS數學對象
- JS日期對象
- JS BOM對象(分水嶺)
- JS DOM對象
- JS事件對象
- JS元素對象
- JS DOM節點
- 第四章:展現層面(Jquery)
- JQ簡介
- JQ使用
- JQ選擇器
- JQ篩選
- JQ屬性
- JQ-CSS
- JQ事件
- JQ文檔處理
- JQ效果
- JQ-ajax
- 第五章:邏輯/業務層面(PHP)
- PHP簡介
- PHP變量
- PHP數據類型
- PHP常量
- PHP運算符
- PHP流程控制
- PHP函數(分水嶺)
- PHP日期
- PHP數學
- PHP數組
- PHP字符串
- PHP正則表達式(分水嶺)
- PHP目錄操作
- PHP文件
- PHP上傳/下載
- PHP面向對象(分水嶺)
- PHP圖像處理
- PHP會話控制
- Ajax異步處理
- PHPMysql擴展
- PHPMysqli擴展
- PHPPdo擴展
- PHP接口
- PHP命名空間
- 第六章:邏輯/業務層面(框架設計)
- 第七章:存儲層面(mysql)
- Mysql基礎
- Mysql Sql簡介
- Mysql數據庫
- Mysql數據類型
- Mysql數據表
- Mysql操作記錄
- Mysql查詢
- Mysql修改表結構
- Mysql日期與時間
- Mysql分組統計
- Mysql多表查詢
- Mysql安全
- Mysql存儲引擎
- Mysql事務
- Mysql視圖
- Mysql觸發器
- Mysql存儲過程
- Mysql存儲函數
- Mysql優化
- 第八章:服務器(Linux)
- Linux介紹與安裝
- Shell
- 目錄與文件操作
- VIM編輯器使用
- 帳號管理
- SUDO
- 權限控制
- 壓縮與打包
- 軟件安裝
- 計劃任務
- 進程管理
- 寶塔Linux面板