php常用字符函數(shù)實例小結(jié)
本文實例總結(jié)了php常用字符函數(shù)。分享給大家供大家參考,具體如下:
1. string substr(string $string, int $start [,int $length])
函數(shù)功能:返回字符串string由start和length參數(shù)指定的子字符串。
參數(shù):
string:輸入字符串。
start:如果start是非負數(shù),返回的字符串將從string的start位置開始,從0開始計算。如,‘a(chǎn)bcdef'中,在位置0的為‘a(chǎn)',位置2為‘c ';
如果start是負數(shù),返回字符串將從string結(jié)尾處向前數(shù)第start個字符開始。
如果string的長度小于或等于start,則返回FALSE。
$rest=substr(" abcdef ",-1);//返回“ f ” $rest=substr(" abcdef ",-2);// 返回 “ ef ” $rest=substr(" abcdef ",-3,1); //返回 “ d ”
$length:如果提供了正數(shù)的length,返回的字符串從start處開始最多包括length個字符(取決于string的長度)。
如果提供了負數(shù)的length,那么string末尾處的許多字符將會漏掉,即為從末尾處不考慮字符(可以理解我截斷),如果start不在文本中,那么將返回一個空字符串。
如果提供了值為0,F(xiàn)ALSE或NULL的length,那么將返回一個空字符串。
如果沒有提供length,返回的字符串將從start的位置一直到字符結(jié)束。
$rest=substr("abcdef","0","-1"); //返回 abcde $rest=substr("abcdef","2","-1"); //返回 cde $rest=substr("abcdef"," 4","-4"); //返回 NULL $rest=substr("abcdef","-3","-1"); //返回 de
[ ]中括號代表該參數(shù)為可選參數(shù),不設(shè)定即為默認參數(shù)。(接觸php快8個月了,一直奇怪函數(shù)的參數(shù)為啥要加個中括號,今天終于忍不住百度了下!慚愧!)
2. int preg_match(string $pattern ,string $subject [, array &$matches [, int $flag=0 [, int $offset=0 ]]])
函數(shù)功能:搜索subject與pattern給定的正則表達式的一個匹配。
參數(shù):
$pattern:要搜索的模式,字符類型。
$subject:輸入字符串。
$matches:如果提供了參數(shù)matches,它將被填充為搜索結(jié)果,$matches[0]包含完整模式匹配到的文本,$matches[1]將包含第一個捕獲子組匹配到文本,以此類推。
$flags :flags可以被設(shè)置為以下標記值:
PREG_OFFSET_CAPTURE
如果傳遞了這個標記, 對于每一個出現(xiàn)的匹配返回時會附加字符串偏移量(相對于目標字符串的). 注意: 這會改變填充到matches參數(shù)的數(shù)組, 使其每個元素成為 一 個由 第0個元素是匹配到的字符串, 第1個元素是該匹配字符串 在目標字符串subject中的偏移量.
offset:
通常, 搜索從目標字符串的開始未知開始.可選參數(shù)offset用于 指定從目標字符串的某個未知開始搜索(單位是字節(jié)).
Note:
使用offset參數(shù)不同于向preg_match() 傳遞按照位置通過substr($subject, $offset)截取目標字符串結(jié)果, 因為pattern可以包含斷言比如^,$ 或者(?<=x). 比較:
<?php $subject = "abcdef"; $pattern = '/^def/'; preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE, 3); print_r($matches); ?>
以上例程會輸出:
Array ( )
<?php $subject = "abcdef"; $pattern = '/^def/'; preg_match($pattern, substr($subject,3), $matches, PREG_OFFSET_CAPTURE); print_r($matches); ?>
將會產(chǎn)生匹配
Array ( [0] => Array ( [0] => def [1] => 0 ) )
3. strpos(string,find,start)
string:必須,規(guī)定被搜索的字符串。
find:必須,規(guī)定要查找的字符。
start:可選,規(guī)定開始搜索的位置,默認從第一個字符開始。
該函數(shù)對大小寫敏感,如不希望這樣可以使用stripos()函數(shù)
例:
echo strpos("Hello world! "," wo ");// 輸出 6
4. string dirname(string path)
函數(shù)功能:取得路徑中的目錄名。在 Win32 系統(tǒng)中,用斜線 (/) 或者反斜線 (\) 都可以;但是其它的操作系統(tǒng)的路徑都是 (/)。
$path = "/etc/hostname"; $file = dirname($path);
$file 為 "/etc"
5. str_split(string,length)
string 必需。規(guī)定要分割的字符串。
length 可選。規(guī)定每個數(shù)組元素的長度。默認是 1。
<?php print_r(str_split("Hello")); ?>
運行結(jié)果:
Array ( [0] => H [1] => e [2] => l [3] => l [4] => o )
更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php字符串(string)用法總結(jié)》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結(jié)》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設(shè)計有所幫助。
相關(guān)文章
淺析Apache中RewriteCond規(guī)則參數(shù)的詳細介紹
Apache中 RewriteCond語句對于我來說一直是個難點,多次試圖去把它搞明白,都沒有結(jié)構(gòu),這次我終于算大概知道它的意思了2013-06-06