首頁 後端開發 php教程 php 常用的字元函數匯總

php 常用的字元函數匯總

Jul 07, 2017 am 09:52 AM
php 函數 匯總

這篇文章主要介紹了php常用字元函數,結合實例形式總結分析了php常用字元函數substr、preg_match、strpos、dirname及str_split功能、用法與相關注意事項,需要的朋友可以參考下

本文實例總結了php常用字元函數。分享給大家參考,如下:

1. string substr(string  $string, int $start   [,int    $length])

函數函數:傳回字串string由start和length參數指定的子字串。

參數:

string輸入字元字串。
start:如果start是非負數,則傳回的字串將從string的start位置開始,從0開始計算。如,在‘abcdef'中,在位置0的為‘a',位置2為‘c ';
如果start是負數,則回傳字串將從string結尾處向前數第start個字元開始。
如果string的長度小於或等於start,則傳回FALSE。

$rest=substr(" abcdef ",-1);//返回“ f ”
$rest=substr(" abcdef ",-2);// 返回 “ ef ”
$rest=substr(" abcdef ",-3,1); //返回 “ d ”
登入後複製

$length:如果提供了正數的length,則傳回的字串從start開始最多包含length個字元(取決於string的長度)。

如果提供了負數的length,那麼string末尾處的許多字元將會漏掉,即為從末尾處不考慮字元(可以理解我截斷),如果start不在文字中,那麼將返回一個空字串。

如果提供了值為0,FALSE或NULL的length,那麼將會傳回一個空字串。

如果沒有提供length,傳回的字串將從start的位置一直到字元結束。

$rest=substr("abcdef","0","-1");  //返回 abcde
$rest=substr("abcdef","2","-1");  //返回 cde
$rest=substr("abcdef"," 4","-4"); //返回 NULL
$rest=substr("abcdef","-3","-1"); //返回 de
登入後複製

[ ]中括號代表此參數為可選參數,不設定為預設參數。 (接觸php快8個月了,一直奇怪函數的參數為啥要加個中括號,今天終於忍不住百度了下!慚愧!)

2. int preg_match(string  $pattern ,string $subject [, array &$matches  [,  int  $flag=0 [, int $offset=0 ]]])






#函數功能:搜尋subject與pattern給定的

正規表示式

的一個符合。

參數

$pattern:要搜尋的模式,

字元類型###。 ######$subject###:輸入字串。 ######$matches###:如果提供了參數matches,它將被填充為搜尋結果,$matches[0]包含完整模式匹配到的文本,$matches[1]將包含第一個捕獲子組匹配到文本,以此類推。 ######$flags### :flags可以被設定為以下標記值:######   ###PREG_OFFSET_CAPTURE#########如果傳遞了這個標記, 對於每一個出現的匹配返回時會附加字串偏移量(相對於目標字串的). 注意: 這會改變填充到matches參數的數組, 使其每個元素成為      一個由第0個元素是匹配到的字符串, 第1個元素是該匹配字串在目標字串subject中的偏移量.#########offset###:#######通常, 搜尋從目標字串的開始未知開始.可選參數offset用於指定從目標字串的某個未知開始搜尋(單位是位元組).##########Note###:######使用offset參數不同於向preg_match() 傳遞依照位置透過substr($subject, $offset) 截取目標字串結果, 因為pattern可以包含斷言例如^,$ 或(?<=x). 比較:###
&lt;?php
$subject = &quot;abcdef&quot;;
$pattern = &#39;/^def/&#39;;
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3);
print_r($matches);
?&gt;
登入後複製
## #以上例程會輸出:###
Array
(
)
登入後複製
&lt;?php
$subject = &quot;abcdef&quot;;
$pattern = &#39;/^def/&#39;;
preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?&gt;
登入後複製
###將會產生符合###
Array
(
  [0] =&gt; Array
    (
      [0] =&gt; def
      [1] =&gt; 0
    )
)
登入後複製
#########3. strpos(string,find,start)########## ######string###:必須,規定被搜尋的字串。 ######find###:必須,規定要找的字元。 ######start###:可選,規定開始搜尋的位置,預設從第一個字元開始。 ######此函數對大小寫敏感,如不希望這樣可以使用stripos()函數#######例:###
echo strpos(&quot;Hello  world! &quot;,&quot; wo &quot;);// 输出 6
登入後複製
#########4. string dirname(string path)############函數功能:取得路徑中的目錄名稱。在 Win32 系統中,用斜線 (/) 或反斜線 (\) 都可以;但是其它的作業系統的路徑都是 (/)。 ###
$path = &quot;/etc/hostname&quot;;
$file = dirname($path);
登入後複製
###$file 為 "/etc"#############5. str_split(string,length)#########

string 必需。规定要分割的字符串。
length 可选。规定每个数组元素的长度。默认是 1。

&lt;?php
print_r(str_split(&quot;Hello&quot;));
?&gt;
登入後複製

运行结果:

Array
(
[0] =&gt; H
[1] =&gt; e
[2] =&gt; l
[3] =&gt; l
[4] =&gt; o
)
登入後複製

以上是php 常用的字元函數匯總的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南 Dec 24, 2024 pm 04:42 PM

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

CakePHP 專案配置 CakePHP 專案配置 Sep 10, 2024 pm 05:25 PM

CakePHP 專案配置

CakePHP 日期和時間 CakePHP 日期和時間 Sep 10, 2024 pm 05:27 PM

CakePHP 日期和時間

CakePHP 檔案上傳 CakePHP 檔案上傳 Sep 10, 2024 pm 05:27 PM

CakePHP 檔案上傳

CakePHP 路由 CakePHP 路由 Sep 10, 2024 pm 05:25 PM

CakePHP 路由

討論 CakePHP 討論 CakePHP Sep 10, 2024 pm 05:28 PM

討論 CakePHP

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 如何設定 Visual Studio Code (VS Code) 進行 PHP 開發 Dec 20, 2024 am 11:31 AM

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發

CakePHP 快速指南 CakePHP 快速指南 Sep 10, 2024 pm 05:27 PM

CakePHP 快速指南

See all articles