程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php常用字符函數實例小結,php實例小結

php常用字符函數實例小結,php實例小結

編輯:關於PHP編程

php常用字符函數實例小結,php實例小結


本文實例總結了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). 比較:

<?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);
?>

將會產生匹配

Array
(
  [0] => Array
    (
      [0] => def
      [1] => 0
    )
)

3. strpos(string,find,start)

string:必須,規定被搜索的字符串。
find:必須,規定要查找的字符。
start:可選,規定開始搜索的位置,默認從第一個字符開始。

該函數對大小寫敏感,如不希望這樣可以使用stripos()函數

例:

echo strpos("Hello  world! "," wo ");// 輸出 6

4. string dirname(string path)

函數功能:取得路徑中的目錄名。在 Win32 系統中,用斜線 (/) 或者反斜線 (\) 都可以;但是其它的操作系統的路徑都是 (/)。

$path = "/etc/hostname";
$file = dirname($path);

$file 為 "/etc"

5. str_split(string,length)

string 必需。規定要分割的字符串。
length 可選。規定每個數組元素的長度。默認是 1。

<?php
print_r(str_split("Hello"));
?>

運行結果:

Array
(
[0] => H
[1] => e
[2] => l
[3] => l
[4] => o
)

更多關於PHP相關內容感興趣的讀者可查看本站專題:《php字符串(string)用法總結》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php面向對象程序設計入門教程》、《PHP網絡編程技巧總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved