最新php常用函數200個,180多個PHP常用函數總結

我們知道任何有效的 php 代碼都有可能出現在函數內部,甚至包括其它函數和類定義。本文我們主要和大家分享180多個PHP常用函數總結,希望能幫助大家更高效的學習PHP。

數學函數

1.abs(): 求絕對值$abs = abs(-4.2); //4.211

輸入: 數字

輸出: 絕對值數字

2.ceil(): 進一法取整echo ceil(9.999); // 1011

輸出: 浮點數進一取整

3.floor(): 去尾法取整echo floor(9.999); // 911

輸出: 浮點數直接舍去小數部分

4.fmod(): 浮點數取余$x = 5.7; $y = 1.3; // 兩個浮點數,x>y 浮點余數

$r = fmod($x, $y); // $r equals 0.5, because 4 * 1.3 + 0.5 = 5.71

2

3

41

2

3

4

5.pow(): 返回數的n次方echo pow(-1, 20); // 1 基礎數|n次方乘方值11

6.round(): 浮點數四舍五入echo round(1.95583, 2); // 1.96, 一個數值|保留小數點后多少位,默認為0 舍入后的結果11

7.sqrt(): 求平方根echo sqrt(9); //3 被開方的數平方根11

8.max(): 求最大值echo max(1, 3, 5, 6, 7); // 711

多個數字或數組

返回其中的最大值echo max(array(2, 4, 5)); // 511

9.min(): 求最小值

輸入: 多個數字或數組

輸出: 返回其中的最小值

10.mt_rand(): 更好的隨機數

輸入: 最小|最大,

輸出: 隨機數隨機返回范圍內的值echo mt_rand(0,9);//n11

11.rand(): 隨機數

輸入: 最小|最大,

輸出: 隨機數隨機返回范圍內的值

12.pi(): 獲取圓周率值

字符串函數

去空格或或其他字符:

13.trim(): 刪除字符串兩端的空格或其他預定義字符$str = "\r\nHello World!\r\n"; echo trim($str);1

21

2

輸入: 目標字符串

返回值: 清除后的字符串

14.rtrim(): 刪除字符串右邊的空格或其他預定義字符$str = "Hello World!\n\n"; echo rtrim($str);1

21

2

15.chop(): rtrim()的別名

16.ltrim(): 刪除字符串左邊的空格或其他預定義字符$str = "\r\nHello World!"; echo ltrim($str);1

21

2

17.dirname(): 返回路徑中的目錄部分echo dirname("c:/testweb/home.php"); //c:/testweb11

輸入: 一個包含路徑的字符串

返回值: 返回文件路徑的目錄部分

字符串生成與轉化:

18.str_pad(): 把字符串填充為指定的長度$str = "Hello World"; echo str_pad($str,20,".");1

21

2

輸入:

要填充的字符串|新字符串的長度|供填充使用的字符串, 默認是空白

輸出:

完成后的字符串

19.str_repeat(): 重復使用指定字符串echo str_repeat(".",13); // 要重復的字符串|字符串將被重復的次數13個點11

20.str_split(): 把字符串分割到數組中print_r(str_split("Hello"));11

輸入: 要分割的字符串|每個數組元素的長度,默認1

輸出: 拆分后的字符串數組

21.strrev(): 反轉字符串echo strrev("Hello World!"); // !dlroW olleH11

輸出: 目標字符串顛倒順序后的字符串

22.wordwrap(): 按照指定長度對字符串進行折行處理$str = "An example on a long word is: Supercalifragulistic"; echo wordwrap($str,15);1

21

2

輸入: 目標字符串|最大寬數

輸出: 折行后的新字符串

23.str_shuffle(): 隨機地打亂字符串中所有字符echo str_shuffle("Hello World");11

輸入: 目標字符串順序

輸出: 打亂后的字符串

24.parse_str(): 將字符串解析成變量parse_str("id=23&name=John%20Adams", $myArray);

print_r($myArray);1

21

2

輸入: 要解析的字符串|存儲變量的數組名稱

輸出:Array(

[id] => 23[name] => John Adams)1

2

31

2

3

25.number_format(): 通過千位分組來格式化數字

輸入:

要格式化的數字|規定多少個小數|規定用作小數點的字符串|規定用作千位分隔符的字符串

輸出:1,000,000

1,000,000.00

1.000.000,00

大小寫轉換:

26.strtolower(): 字符串轉為小寫echo strtolower("Hello WORLD!");11

目標字符串

小寫字符串

27.strtoupper(): 字符串轉為大寫echo strtoupper("Hello WORLD!");11

輸出: 大寫字符串

28.ucfirst(): 字符串首字母大寫echo ucfirst("hello world"); // Hello world11

29.ucwords(): 字符串每個單詞首字符轉為大寫echo ucwords("hello world"); // Hello World11

html標簽關聯:

30.htmlentities(): 把字符轉為HTML實體$str = "John & 'Adams'";echo htmlentities($str, ENT_COMPAT); // John & 'Adams'1

21

2

31.htmlspecialchars(): 預定義字符轉html編碼

32.nl2br(): \n轉義為
標簽echo nl2br("One line.\nAnother line.");11

輸出: 處理后的字符串

33.strip_tags(): 剝去 HTML、XML 以及 PHP 的標簽echo strip_tags("Hello world!");11

34.addcslashes():在指定的字符前添加反斜線轉義字符串中字符$str = "Hello, my name is John Adams."; echo $str; echo addcslashes($str,'m');1

2

31

2

3

輸入:

目標字符串|指定的特定字符或字符范圍

35.stripcslashes(): 刪除由addcslashes()添加的反斜線echo stripcslashes("Hello, \my na\me is Kai Ji\m."); // 目標字符串 Hello, my name is Kai Jim.1

21

2

36.addslashes(): 指定預定義字符前添加反斜線$str = "Who's John Adams?";echo addslashes($str);1

21

2

輸出: 把目標串中的’ ” \和null進行轉義處理

37.stripslashes(): 刪除由addslashes()添加的轉義字符echo stripslashes("Who\'s John Adams?"); // 清除轉義符號Who's John Adams?11

38.quotemeta(): 在字符串中某些預定義的字符前添加反斜線$str = "Hello world. (can you hear me?)";echo quotemeta($str); // Hello world\. \(can you hear me\?\)1

2

31

2

3

39.chr(): 從指定的 ASCII 值返回字符echo chr(052); // ASCII 值返回對應的字符11

40.ord(): 返回字符串第一個字符的ASCII值echo ord("hello"); 字符串第一個字符的 ASCII 值11

字符串比較:

41.strcasecmp(): 不區分大小寫比較兩字符串echo strcasecmp("Hello world!","HELLO WORLD!");11

輸入:

兩個目標字符串

輸出:

大1|等0|小 -1

42.strcmp(): 區分大小寫比較兩字符串

43.strncmp(): 比較字符串前n個字符,區分大小寫

調用: int strncmp ( string $str1 , string $str2 , int $len)

44.strncasecmp(): 比較字符串前n個字符,不區分大小寫

調用: int strncasecmp ( string $str1 , string $str2 , int $len )

45.strnatcmp(): 自然順序法比較字符串長度,區分大小寫

調用: int strnatcmp ( string $str1 , string $str2 )

輸入:

目標字符串

46.strnatcasecmp(): 自然順序法比較字符串長度, 不區分大小寫

調用: int strnatcasecmp ( string $str1 , string $str2 )

字符串切割與拼接:

47.chunk_split():將字符串分成小塊

調用: str chunk_split(str $body[,int $len[,str $end]])

輸入:

$body目標字串, $len長度, $str插入結束符

輸出:

分割后的字符串

48.strtok(): 切開字符串

調用: str strtok(str $str,str $token)

目標字符串$str,以$token為標志切割返回切割后的字符串

49.explode(): 使用一個字符串為標志分割另一個字符串

調用: array explode(str $sep,str $str[,int $limit])

輸入: $sep為分割符,$str目標字符串,$limit返回數組最多包含元素數

輸出: 字符串被分割后形成的數組

50.implode(): 同join,將數組值用預訂字符連接成字符串

調用: string implode ( string $glue , array $pieces )

$glue默認, 用”則直接相連

51.substr(): 截取字符串

調用: string substr ( string $string , int $start [, int $length ] )

字符串查找替換:

52.str_replace(): 字符串替換操作,區分大小寫

調用mix str_replace(mix $search,mix $replace, mix $subject[,int &$num])

輸入:

$search查找的字符串,$replace替換的字符串,$subject被查找字串, &$num

輸出: 返回替換后的結果

53.str_ireplace() 字符串替換操作,不區分大小寫

調用: mix str_ireplace ( mix $search , mix $replace , mix $subject [, int &$count ] )

輸入:

$search查找的字符串,$replace替換的字符串,$subject被查找字串,&$num

輸出: 返回替換后的結果

54.substr_count(): 統計一個字符串,在另一個字符串中出現次數

調用: int substr_count ( string $haystack , string $needle[, int $offset = 0 [, int $length ]] )

55.substr_replace(): 替換字符串中某串為另一個字符串

調用: mixed substr_replace ( mixed $string, string $replacement,int $start [, int $length ] )

56.similar_text(): 返回兩字符串相同字符的數量

調用: int similar_text(str $str1,str $str2)

輸入:

兩個比較的字符串

輸出:

整形,相同字符數量

57.strrchr(): 返回一個字符串在另一個字符串中最后一次出現位置開始到末尾的字符串

調用: string strrchr ( string $haystack , mixed $needle )

58.strstr(): 返回一個字符串在另一個字符串中開始位置到結束的字符串

調用: string strstr ( string $str, string $needle , bool $before_needle )

59.strchr(): strstr()的別名,返回一個字符串在另一個字符串中首次出現的位置開始到末尾的字符串

調用: string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

60.stristr(): 返回一個字符串在另一個字符串中開始位置到結束的字符串,不區分大小寫

調用:string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )

61.strtr(): 轉換字符串中的某些字符

調用: string strtr ( string $str , string $from , string $to )

62.strpos(): 尋找字符串中某字符最先出現的位置

調用: int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

63.stripos(): 尋找字符串中某字符最先出現的位置,不區分大小寫

調用: int stripos ( string $haystack , string $needle [, int $offset ] )

64.strrpos(): 尋找某字符串中某字符最后出現的位置

調用: int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )

65.strripos(): 尋找某字符串中某字符最后出現的位置,不區分大小寫

調用: int strripos ( string $haystack , string $needle [, int $offset ] )

66.strspn(): 返回字符串中首次符合mask的子字符串長度

調用: int strspn ( string $str1 , string $str2 [, int $start [, int $length ]] )

67.strcspn(): 返回字符串中不符合mask的字符串的長度

調用: int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] )

輸入:

$str1被查詢,$str2查詢字符串,$start開始查詢的字符,$length是查詢長度

輸出:

返回從開始到第幾個字符

字符串統計:

68.str_word_count(): 統計字符串含有的單詞數

調用: mix str_word_count(str $str,[])

輸入: 目標字符串

輸出: 統計處的數量

69.strlen(): 統計字符串長度

函數原型: int strlen(str $str)

輸入: 目標字符串

輸出:整型長度

70.count_chars(): 統計字符串中所有字母出現次數(0..255)

調用: mixed count_chars ( string $string [, int $mode ] )

字符串編碼:

71.md5(): 字符串md5編碼$str = "Hello";

echo md5($str);

數組函數

數組創建:

72.array(): 生成一個數組$a=array("Dog","Cat","Horse");

print_r($a);1

21

2

數組值或,鍵=>值一個數組型變量

73.array_combine(): 生成一個數組,用一個數組的值

作為鍵名,另一個數組值作為值$a1=array("a","b","c","d"); $a2=array("Cat","Dog","Horse","Cow");

print_r(array_combine($a1,$a2));1

2

31

2

3

輸入參數: $a1為提供鍵,$a2提供值

輸出: 合成后的數組

74.range(): 創建并返回一個包含指定范圍的元素的數組。$number = range(0,50,10);

print_r ($number);1

21

2

輸入: 0是最小值,50是最大值,10是步長

輸出: 合成后的數組

75.compact(): 創建一個由參數所帶變量組成的數組$firstname = "Peter"; $lastname = "Griffin"; $age = "38"; $result = compact("firstname", "lastname", "age");

print_r($result);1

2

3

4

51

2

3

4

5

變量或數組

返回由變量名為鍵,變量值為值的數組,變量也可以為多維數組.會遞歸處理

76.array_fill(): 用給定的填充(值生成)數組$a=array_fill(2,3,"Dog");

print_r($a);1

21

2

2是鍵,3是填充的數量,’Dog’為填充內容返回完成的數組

數組合并和拆分:

77.array_chunk(): 把一個數組分割為新的數組塊$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");

print_r(array_chunk($a,2));1

21

2

一個數組分割后的多維數組,規定每個新數組包含2個元素

78.array_merge(): 把兩個或多個數組合并為一個數組。$a1=array("a"=>"Horse","b"=>"Dog"); $a2=array("c"=>"Cow","b"=>"Cat");

print_r(array_merge($a1,$a2));1

2

31

2

3

輸入: 兩個數組

輸出: 返回完成后的數組

79.array_slice(): 在數組中根據條件取出一段值,并返回。$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");

print_r(array_slice($a,1,2));1

21

2

輸入: 一個數組

輸出: 1為從’Cat’開始,2為返回兩個元素

數組比較:

80.array_diff(): 返回兩個數組的差集數組$a1=array(0=>"Cat",1=>"Dog",2=>"Horse");$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");

print_r(array_diff($a1,$a2)); //返回'Cat'1

2

31

2

3

輸入: 兩個或多個數組

輸出: $a1與$a2的不同之處

81.array_intersect(): 返回兩個或多個數組的交集數組

輸出:

返回’Dog’和’Horse’, $a1與$a2的相同之處

數組查找替換:

82.array_search(): 在數組中查找一個值,返回一個鍵,沒有返回返回假$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); echo array_search("Dog",$a);1

21

2

輸入: 一個數組

輸出: 成功返回鍵名,失敗返回false

83.array_splice(): 把數組中一部分刪除用其他值替代$a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); $a2=array(0=>"Tiger",1=>"Lion");

array_splice($a1,0,2,$a2);

print_r($a1);1

2

3

41

2

3

4

輸入: 一個或多個數組

輸出: $a1被移除的部分由$a2補全

84.array_sum(): 返回數組中所有值的總和$a=array(0=>"5",1=>"15",2=>"25"); echo array_sum($a);1

21

2

輸入: 一個數組

輸出: 返回和

85.in_array(): 在數組中搜索給定的值,區分大小寫$people = array("Peter", "Joe", "Glenn", "Cleveland"); if (in_array("Glenn",$people) { echo "Match found";

} else{ echo "Match not found";

}1

2

3

4

5

6

71

2

3

4

5

6

7

輸入: 需要搜索的值|數組

輸出: true/false

86.array_key_exists(): 判斷某個數組中是否存在指定的 key

輸入: 需要搜索的鍵名|數組

數組引用操作:

87.key(): 返回數組內部指針當前指向元素的鍵名

88.current(): 返回數組中的當前元素(單元).

89.next(): 把指向當前元素的指針移動到下一個元素的位置,并返回當前元素的值

90.prev(): 把指向當前元素的指針移動到上一個元素的位置,并返回當前元素的值

91.end(): 將數組內部指針指向最后一個元素,并返回該元素的值(如果成功)

92.reset(): 把數組的內部指針指向第一個元素,并返回這個元素的值

93.list(): 用數組中的元素為一組變量賦值$my_array=array("Dog","Cat","Horse"); list($a, $b, $c) = $my_array;1

21

2

輸入: $a, $b, $c為需要賦值的變量

輸出: 變量分別匹配數組中的值

94.array_shift(): 刪除數組中的第一個元素,并返回被刪除元素的值$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); echo array_shift($a);

print_r ($a);1

2

31

2

3

95.array_unshift(): 在數組開頭插入一個或多個元素$a=array("a"=>"Cat","b"=>"Dog");

array_unshift($a,"Horse");

print_r($a);1

2

31

2

3

96.array_push(): 向數組最后壓入一個或多個元素$a=array("Dog","Cat");

array_push($a,"Horse","Bird");

print_r($a);1

2

31

2

3

輸入: 目標數組|需要壓入的值

返回值: 返回新的數組

97.array_pop(): 取得(刪除)數組中的最后一個元素$a=array("Dog","Cat","Horse");

array_pop($a);

print_r($a);1

2

31

2

3

輸入: $a為目標數組

輸出: 返回數組剩余元素

數組鍵值操作:

98.shuffle(): 將數組打亂,保留鍵名$my_array = array("a" => "Dog", "b" => "Cat");

shuffle($my_array);

print_r($my_array);1

2

31

2

3

輸入: 一個或多個數組

輸出: 順序打亂后的數組

99.count(): 計算數組中的單元數目或對象中的屬性個數$people = array("Peter", "Joe", "Glenn", "Cleveland"); $result = count($people); echo $result;1

2

3

41

2

3

4

輸入: 數組

輸出: 輸出元素個數

100.array_flip(): 返回一個鍵值反轉后的數組$a=array(0=>"Dog",1=>"Cat",2=>"Horse");

print_r(array_flip($a));1

21

2

輸出: 返回完成后的數組

101.array_keys(): 返回數組所有的鍵,組成一個數組$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");

print_r(array_keys($a));1

21

2

輸出: 返回由鍵名組成的數組

102.array_values(): 返回數組中所有值,組成一個數組

輸出: 返回由鍵值組成的數組

103.array_reverse(): 返回一個元素順序相反的數組

元素順序相反的一個數組,鍵名和鍵值依然匹配

104.array_count_values(): 統計數組中所有的值出現的次數$a=array("Cat","Dog","Horse","Dog");

print_r(array_count_values($a));1

21

2

輸出: 返回數組原鍵值為新鍵名,次數為新鍵值

105.array_rand(): 從數組中隨機抽取一個或多個元素,注意是鍵名!!!$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");

print_r(array_rand($a,1));1

21

2

$a為目標數組, 1為抽取第幾個元素的鍵名返回第1個元素的鍵名b

106.each(): 返回數組中當前的鍵/值對并將數組指針向前移動一步

調用array each ( array &$array )

在執行 each() 之后,數組指針將停留在數組中的下一個單元或者當碰到數組結尾時停留在最后一個單元。如果要再用 each 遍歷數組,必須使用 reset()。

返回值:

數組中當前指針位置的鍵/值對并向前移動數組指針。鍵值對被返回為四個單元的數組,鍵名為0,1,key和 value。單元 0 和 key 包含有數組單元的鍵名,1 和 value 包含有數據。

如果內部指針越過了數組的末端,則 each() 返回 FALSE。

107.array_unique(): 刪除重復值,返回剩余數組$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");

print_r(array_unique($a));1

21

2

輸入: 數組

輸入: 返回無重復值數組,鍵名不變

數組排序:

108.sort(): 按升序對給定數組的值排序,不保留鍵名$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");

sort($my_array);

print_r($my_array);1

2

31

2

3

輸出: true/false

109.rsort(): 對數組逆向排序,不保留鍵名

110.asort(): 對數組排序,保持索引關系

111.arsort(): 對數組逆向排序,保持索引關

112.ksort(): 系按鍵名對數組排序

113.krsort(): 將數組按照鍵逆向排序

114.natsort(): 用自然順序算法對數組中的元素排序

115.natcasesort(): 自然排序,不區分大小寫

文件系統函數

116.fopen(): 打開文件或者 URL$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");11

調用: resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )

返回值: 如果打開失敗,本函數返回 FALSE

117.fclose(): 關閉一個已打開的文件指針$handle = fopen('somefile.txt', 'r');

fclose($handle);

bool fclose(resource handle)1

2

31

2

3

輸出: 如果成功則返回 TRUE,失敗則返回 FALSE

文件屬性

118.file_exists(): 檢查文件或目錄是否存在$filename = '/path/to/foo.txt'; if (file_exists($filename)) { echo "exists";

} else { echo "does not exist";

}1

2

3

4

5

61

2

3

4

5

6

調用: bool file_exists ( string filename )

輸入: 指定的文件或目錄

輸出: 存在則返回 TRUE,否則返回 FALSE

119.filesize(): 取得文件大小$filename = 'somefile.txt';echo $filename . ': ' . filesize($filename) .'bytes';1

21

2

調用: int filesize ( string $filename )

輸出: 返回文件大小的字節數,如果出錯返回 FALSE 并生成一條 E_WARNING 級的錯誤

120.is_readable(): 判斷給定文件是否可讀$filename = 'test.txt'; if (is_readable($filename)) { echo '可讀';

} else { echo '不可讀';

}1

2

3

4

5

61

2

3

4

5

6

調用: bool is_readable ( string $filename )

輸出: 如果由 filename指定的文件或目錄存在并且可讀則返回 TRUE

121.is_writable(): 判斷給定文件是否可寫$filename = 'test.txt'; if (is_writable($filename)) { echo '可寫';

} else { echo '不可寫';

}1

2

3

4

5

61

2

3

4

5

6

調用: bool is_writable ( string $filename )

filename 參數 可以是一個允許進行是否可寫檢查的目錄名

輸出:

如果文件存在并且可寫則返回 TRUE。

122.is_executable(): 判斷給定文件是否可執行$file = 'setup.exe'; if (is_executable($file)) { echo '可執行';

} else { echo '不可執行';

}1

2

3

4

5

61

2

3

4

5

6

調用: bool is_executable ( string $filename )

輸出: 如果文件存在且可執行則返回 TRUE

123.filectime(): 獲取文件的創建時間$filename = 'somefile.txt';echo filectime($filename);1

21

2

調用: int filectime ( string $filename )

輸出: 時間以 Unix 時間戳的方式返回,如果出錯則返回FALSE

124.filemtime(): 獲取文件的修改時間$filename = 'somefile.txt';echo filemtime($filename);

int filemtime ( string $filename )1

2

31

2

3

輸出: 返回文件上次被修改的時間,出錯時返回 FALSE。時間以 Unix時間戳的方式返回

125.fileatime(): 獲取文件的上次訪問時間$filename = 'somefile.txt';echo fileatime($filename);1

21

2

調用: int fileatime (string $filename)

輸出: 返回文件上次被訪問的時間, 如果出錯則返回FALSE. 時間以Unix時間戳的方式返回.

126.stat(): 獲取文件大部分屬性值$filename = 'somefile.txt';

var_dump(fileatime($filename));1

21

2

調用: array stat (string $filename

輸出: 返回由 filename 指定的文件的統計信息

文件操作

127.fwrite(): 寫入文件$filename = 'test.txt'; $somecontent = "添加這些文字到文件\n"; $handle = fopen($filename, 'a');

fwrite($handle, $somecontent);

fclose($handle);1

2

3

4

51

2

3

4

5

調用: int fwrite ( resource handle, string string [, int length] )

輸出:

把 string 的內容寫入 文件指針 handle 處。如果指定了 length,當寫入了length個字節或者寫完了string以后,寫入就會停止, 視乎先碰到哪種情況

128.fputs(): 同上

129.fread(): 讀取文件$filename = "/usr/local/something.txt";$handle = fopen($filename, "r");$contents = fread($handle, filesize($filename));

fclose($handle);1

2

3

41

2

3

4

調用: string fread ( int handle, int length )

從文件指針handle,讀取最多 length 個字節

130.feof(): 檢測文件指針是否到了文件結束的位置$file = @fopen("no_such_file", "r"); while (!feof($file)) {

}

fclose($file);1

2

3

41

2

3

4

調用: bool feof ( resource handle )

輸出: 如果文件指針到了 EOF 或者出錯時則返回TRUE,否則返回一個錯誤(包括 socket 超時),其它情況則返回 FALSE

131.fgets(): 從文件指針中讀取一行$handle = @fopen("/tmp/inputfile.txt", "r"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle, 4096); echo $buffer;

}

fclose($handle);

}1

2

3

4

5

6

7

81

2

3

4

5

6

7

8

調用: string fgets ( int handle [, int length] )

輸出: 從handle指向的文件中讀取一行并返回長度最多為length-1字節的字符串.碰到換行符(包括在返回值中)、EOF 或者已經讀取了length -1字節后停止(看先碰到那一種情況). 如果沒有指定 length,則默認為1K, 或者說 1024 字節.

132.fgetc(): 從文件指針中讀取字符$fp = fopen('somefile.txt', 'r'); if (!$fp) { echo 'Could not open file somefile.txt';

} while (false !== ($char = fgetc($fp))) { echo "$char\n";

}1

2

3

4

5

6

71

2

3

4

5

6

7

輸入: string fgetc ( resource $handle )

輸出: 返回一個包含有一個字符的字符串,該字符從 handle指向的文件中得到. 碰到 EOF 則返回 FALSE.

133.file(): 把整個文件讀入一個數組中$lines = file('http://www.example.com/');11

// 在數組中循環,顯示 HTML 的源文件并加上行號。foreach ($lines as $line_num => $line) { echo "Line #{$line_num} : " .

htmlspecialchars($line) . "
\n";

}1

2

3

41

2

3

4

// 另一個例子將 web 頁面讀入字符串。參見 file_get_contents()。$html = implode('', file('http://www.example.com/'));11

調用: array file ( string $filename [, int $use_include_path [, resource $context ]] )

輸出: 數組中的每個單元都是文件中相應的一行,包括換行符在內。如果失敗 file() 返回 FALSE

134.readfile(): 輸出一個文件

調用: int readfile ( string $filename [, bool $use_include_path [, resource $context ]] )

輸出: 讀入一個文件并寫入到輸出緩沖。返回從文件中讀入的字節數。如果出錯返回 FALSE

135.file_get_contents(): 將整個文件讀入一個字符串echo file_get_contents('http://www.baidu.com');11

調用:

string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] )

136.file_put_contents():將一個字符串寫入文件file_put_contents('1.txt','aa');11

調用: int file_put_contents ( string $filename , string $data [, int $flags [, resource $context ]] )

輸出: 該函數將返回寫入到文件內數據的字節數

137.ftell(): 返回文件指針讀/寫的位置$fp=fopen('tx.txt','r');

fseek($fp,10); echo ftell($fp);

fread($fp,4); echo ftell($fp);1

2

3

4

51

2

3

4

5

調用: int ftell ( resource $handle )

輸出: 返回由 handle 指定的文件指針的位置,也就是文件流中的偏移量

138.fseek(): 在文件指針中定位$fp=fopen('tx.txt','r');

fseek($fp,10); echo ftell($fp);

fread($fp,4); echo ftell($fp);1

2

3

4

51

2

3

4

5

調用: int fseek ( resource $handle , int $offset [, int $whence ] )

輸出: 成功則返回 0;否則返回 -1

139.rewind(): 倒回文件指針的位置$fp=fopen('tx.txt','r');

fseek($fp,3); echo ftell($fp);

fread($fp,4);

rewind($fp); echo ftell($fp);1

2

3

4

5

61

2

3

4

5

6

調用: bool rewind ( resource $handle )

返回值: 如果成功則返回 TRUE,失敗則返回 FALSE

140.flock(): 輕便的執行文件鎖定$fp=fopen('tx.txt','r');

flock($fp, LOCK_SH);//共享鎖

//flock($fp, LOCK_EX);//獨立鎖,寫文件時用它打開

//flock($fp, LOCK_NB);//附加鎖

flock($fp, LOCK_UN);//釋放鎖

fclose($fp);1

2

3

4

5

61

2

3

4

5

6

調用: bool flock ( int $handle , int $operation [, int &$wouldblock ] )

輸出: 如果成功則返回 TRUE,失敗則返回 FALSE

目錄

141.basename(): 返回路徑中的文件名部分path = "/home/httpd/html/index.php"; $file = basename($path); $file = basename($path,".php");1

2

31

2

3

調用: string basename ( string $path [, string $suffix ])

輸出: 給出一個包含有指向一個文件的全路徑的字符串,本函數返回基本的文件名。如果文件名是以 suffix 結

束的,那這一部分也會被去掉

142.dirname(): 返回路徑中的目錄部分$path = "/etc/passwd"; $file = dirname($path);1

21

2

調用: string dirname ( string $path )

輸出: 給出一個包含有指向一個文件的全路徑的字符串,本函數返回去掉文件名后的目錄名

143.pathinfo(): 返回文件路徑的信息echo '

';

print_r(pathinfo("/www/htdocs/index.html")); echo '

';1

2

31

2

3

調用: mixed pathinfo ( string $path [, int $options ] )

返回一個關聯數組包含有 path 的信息

144.opendir(): 打開目錄句柄$fp=opendir('E:/xampp/htdocs/php/study/19');echo readdir($fp);

closedir($fp);1

2

31

2

3

調用: resource opendir ( string $path [, resource $context ] )

返回值: 如果成功則返回目錄句柄的 resource,失敗則返回FALSE

145.readdir(): 從目錄句柄中讀取條目$fp=opendir('E:/xampp/htdocs/php/study/19');echo readdir($fp);

closedir($fp);1

2

31

2

3

調用: string readdir ( resource $dir_handle )

返回值: 返回目錄中下一個文件的文件名。文件名以在文件系統中的排序返回

146.closedir(): 關閉目錄句柄$fp=opendir('E:/xampp/htdocs/php/study/19'); echo readdir($fp);

closedir($fp);1

2

31

2

3

調用: void closedir ( resource $dir_handle )

關閉由 dir_handle 指定的目錄流。流必須之前被opendir() 所打開

147.rewinddir() : 倒回目錄句柄$fp=opendir('E:/xampp/htdocs/php/study/19'); echo readdir($fp).'
'; echo readdir($fp).'
'; echo readdir($fp).'
';

rewinddir($fp); echo readdir($fp).'
';

closedir($fp);1

2

3

4

5

6

71

2

3

4

5

6

7

調用: void rewinddir ( resource $dir_handle )

輸出: 將 dir_handle 指定的目錄流重置到目錄的開頭

148.mkdir(): 新建目錄mkdir('123');11

調用: bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] )

輸出: 嘗試新建一個由 pathname 指定的目錄

149.rmdir(): 刪除目錄rmdir('123');11

調用: bool rmdir ( string $dirname )

輸出: 嘗試刪除 dirname 所指定的目錄。目錄必須是空的,而且要有相應的權限。如果成功則返回TRUE,失敗則返回 FALSE

150.unlink(): 刪除文件unlink('123/1.txt');

rmdir('123');1

21

2

調用: bool unlink ( string $filename )

輸出: 刪除 filename 。和 Unix C 的 unlink() 函數相似。如果成功則返回 TRUE,失敗則返回 FALSE

151.copy(): 拷貝文件copy('index.php','index.php.bak');11

調用: bool copy ( string $source , string $dest )

輸出: 將文件從 source 拷貝到 dest. 如果成功則返回TRUE,失敗則返回 FALSE

152.rename(): 重命名一個文件或目錄rename('tx.txt','txt.txt');11

調用: bool rename ( string $oldname , string $newname [, resource $context ] )

輸出: 如果成功則返回 TRUE,失敗則返回 FALSE

文件的上傳與下載

153.is_uploaded_file():判斷文件是否是通過 HTTP POST上傳的if(is_uploaded_file($_FILES['bus']['tmp_name'])){ if( move_uploaded_file($_FILES['bus']['tmp_name'], $NewPath) ){ echo '上傳成功'.%24NewPath.'';

}else{ exit('失敗');

}

}else{ exit('不是上傳文件');

}1

2

3

4

5

6

7

8

9

101

2

3

4

5

6

7

8

9

10

調用: bool is_uploaded_file ( string $filename )

154.move_uploaded_file(): 將上傳的文件移動到新位置if(is_uploaded_file($_FILES['bus']['tmp_name'])){ if( move_uploaded_file($_FILES['bus']['tmp_name'], $NewPath) ){ echo '上傳成功'.%24NewPath.'';

}else{ exit('失敗');

}

}else{ exit('不是上傳文件');

}1

2

3

4

5

6

7

8

9

101

2

3

4

5

6

7

8

9

10

調用: bool move_uploaded_file ( string $filename , string

時間函數

155.time(): 返回當前的 Unix 時間戳time();

調用: int time ( void )

輸出: 返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數

156.mktime(): 取得一個日期的 Unix 時間戳mktime(0, 0, 0, 4, 25, 2012);11

調用: int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )

156.date(): 格式化一個本地時間/日期date('Y年m月d日 H:i:s');11

調用: string date ( string $format [, int $timestamp ] )

輸出: 2016年09月10日 20:45:54

157.checkdate(): 驗證一個格里高里日期

調用: bool checkdate ( int $month , int $day , int $year)

輸出: 如果給出的日期有效則返回 TRUE,否則返回 FALSEif(checkdate(6,31,2012)){ echo '成立';

}else{ echo '不成立';

}1

2

3

4

51

2

3

4

5

158.date_default_timezone_set(): 設定用于一個腳本中所有日期時間函數的默認時區date_default_timezone_set('PRC');11

調用: bool date_default_timezone_set ( string $timezone_identifier)

返回值: 如果 timezone_identifier 參數無效則返回 FALSE,否則返回 TRUE。

159.getdate(): 取得日期/時間信息

調用: array getdate ([ int $timestamp ] )

輸出: 返回一個根據timestamp得出的包含有日期信息的關聯數組。如果沒有給出時間戳則認為是當前本地時間$t=getdate();

var_dump($t);1

21

2

160.strtotime(): 將任何英文文本的日期時間描述解析為 Unix 時間戳echo strtotime("now");

int strtotime ( string $time [, int $now ] )   echo strtotime("10 September 2000"); echo strtotime("+1 day"); echo strtotime("+1 week"); echo strtotime("+1 week 2 days 4 hours 2 seconds"); echo strtotime("next Thursday"); echo strtotime("last Monday");1

2

3

4

5

6

7

81

2

3

4

5

6

7

8

161.microtime(): 返回當前 Unix 時間戳和微秒數

調用: mixed microtime ([ bool $get_as_float ] )$start=microtime(true);

sleep(3); $stop=microtime(true); echo $stop-$start;1

2

3

41

2

3

4

其他常用:

162.intval(): 獲取變量的整數值

調用: int intval ( mixed $var [, int $base = 10 ] )

通過使用指定的進制 base 轉換(默認是十進制),返回變量 var 的 integer 數值。 intval() 不能用于 object,否則會產生 E_NOTICE 錯誤并返回 1。

var: 要轉換成 integer 的數量值

base: 轉化所使用的進制

返回值: 成功時返回 var 的 integer 值,失敗時返回 0。 空的 array 返回 0,非空的 array 返回 1。

163.sprintf(): 函數把格式化的字符串寫入一個變量中。

語法

sprintf(format,arg1,arg2,arg++)

參數 描述

format 必需。轉換格式。

arg1 必需。規定插到 format 字符串中第一個 % 符號處的參數。

arg2 可選。規定插到 format 字符串中第二個 % 符號處的參數。

arg++ 可選。規定插到 format 字符串中第三、四等等 % 符號處的參數。

說明

參數 format 是轉換的格式,以百分比符號 (“%”) 開始到轉換字符結束。下面的可能的 format 值:

%% - 返回百分比符號

%b - 二進制數

%c - 依照 ASCII 值的字符

%d - 帶符號十進制數

%e - 可續計數法(比如 1.5e+3)

%u - 無符號十進制數

%f - 浮點數(local settings aware)

%F - 浮點數(not local settings aware)

%o - 八進制數

%s - 字符串

%x - 十六進制數(小寫字母)

%X - 十六進制數(大寫字母)

arg1, arg2, ++ 等參數將插入到主字符串中的百分號 (%) 符號處。該函數是逐步執行的。在第一個 % 符號中,插入 arg1,在第二個 % 符號處,插入 arg2,依此類推。

提示和注釋

注釋:如果 % 符號多于 arg 參數,則您必須使用占位符。占位符插到 % 符號后面,由數字和 “$” 組成。請參見例子 3。

提示:相關函數:fprintf()、printf()、vfprintf()、vprintf() 以及 vsprintf()。

例子

例子 1<?php $str = "Hello";$number = 123;$txt = sprintf("%s world. Day number %u",$str,$number);echo $txt;?>1

2

3

4

5

61

2

3

4

5

6

輸出:

Hello world. Day number 123

164.PDO類的相關函數

prepare()

execute()

fetch()<?php $driver = 'mysql';$database = "dbname=CODINGGROUND";$dsn = "$driver:host=localhost;unix_socket=/home/cg/mysql/mysql.sock;$database";$username = 'root';$password = 'root';try { $conn = new PDO($dsn, $username, $password); echo "

Database CODINGGROUND Connected

";

}catch(PDOException $e){ echo "

" . $e->getMessage() . "

";

}$sql = 'SELECT * FROM users';$stmt = $conn->prepare($sql);$stmt->execute();echo "

{ echo sprintf("

%s", $value);

} echo "

";

}echo "

";?>1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

291

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

165.isset(): 檢測變量是否設置。

原型格式: bool isset ( mixed var [, mixed var [, ...]] )

返回值:

若變量不存在則返回 FALSE

若變量存在且其值為NULL,也返回 FALSE

若變量存在且值不為NULL,則返回 TURE

同時檢查多個變量時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE

如果已經使用 unset() 釋放了一個變量之后,它將不再是 isset()。若使用 isset() 測試一個被設置成

NULL 的變量,將返回 FALSE。同時要注意的是一個 NULL 字節(”“)并不等同于 PHP 的 NULL 常數。$userInfo=’abc’;if(isset($userInfo['account'])) {$account=$userInfo['account'];

} else {$account=$userInfo;

}1

2

3

4

5

61

2

3

4

5

6

166.unset(): 銷毀指定的變量。

函數原型: unset(var1,var2,...)

參數 描述

var1 要銷毀的變量1

var2 要銷毀的變量2<?php

$foo = 'php unset()'; unset ($foo); echo $foo;?>1

2

3

4

51

2

3

4

5

167.preg_replace_callback: 執行一個正則表達式搜索并且使用一個回調進行替換.

原型:

mixed preg_replace_callback ( mixed $pattern , callable $callback , mixed $subject [, int $limit = -1 [, int &$count ]] )

這個函數的行為除了 可以指定一個 callback 替代 replacement 進行替換 字符串的計算,其他方面等同于 preg_replace()。

pattern: 要搜索的模式,可以使字符串或一個字符串數組。

callback: 一個回調函數,在每次需要替換時調用,調用時函數得到的參數是從subject 中匹配到的結果。回調函數返回真正參與替換的字符串。這是該回調函數的簽名:

string handler ( array $matches )

你可能經常會需要callback函數而僅用于preg_replace_callback()一個地方的調用。在這種情況下,你可以 使用匿名函數來定義一個匿名函數作為preg_replace_callback()調用時的回調。 這樣做你可以保留所有 調用信息在同一個位置并且不會因為一個不在任何其他地方使用的回調函數名稱而污染函數名稱空間。

subject: 要搜索替換的目標字符串或字符串數組。

limit: 對于每個模式用于每個 subject 字符串的最大可替換次數。 默認是-1(無限制)。

count: 如果指定,這個變量將被填充為替換執行的次數。<?php /* 一個unix樣式的命令行過濾器,用于將段落開始部分的大寫字母轉換為小寫。 */$fp = fopen("php://stdin", "r") or die("can't read stdin");while (!feof($fp)) { $line = fgets($fp); $line = preg_replace_callback( '|

\s*\w|', function ($matches) {

return strtolower($matches[0]);

}, $line

); echo $line;

}

fclose($fp);?>1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

161

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

返回值:

如果subject是一個數組, preg_replace_callback()返回一個數組,其他情況返回字符串。 錯誤發生時返回 NULL。

如果查找到了匹配,返回替換后的目標字符串(或字符串數組), 其他情況subject 將會無變化返回。

168.json_encode(): 對變量進行 JSON 編碼

函數原型: json_encode(value,option)

參數 描述

value 必填。待編碼的 value ,除了resource 類型之外,可以為任何數據類型。該函數只能接受 UTF-8 編碼的數據

options 可選。

JSON_HEX_QUOT 把雙引號轉為\u0022(php 5.3)

JSON_HEX_TAG 把< > 轉為 \u003C 和 \u003E(php 5.3)

JSON_HEX_AMP 把 & 轉為 \u0026(php 5.3)

JSON_HEX_APOS 把單引號轉為 \u0027.(php 5.3)

JSON_NUMERIC_CHECK 把數字字符串當作數字編碼(php 5.3)

JSON_PRETTY_PRINT 使用空格格式化數據(php 5.4)

JSON_UNESCAPED_SLASHES 不忽略 /(php 5.4)

JSON_FORCE_OBJECT 使用非關聯數組時輸出一個對象而不是一個數組(php 5.3)

JSON_UNESCAPED_UNICODE 逐字編譯多字節字符(php 5.4)<?php $arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);echo json_encode($arr);?>1

2

3

41

2

3

4

以上例程會輸出:{"a":1,"b":2,"c":3,"d":4,"e":5}

169.iconv(): 用于按規定的字符編碼轉換字符串。mb_convert_encoding() 函數也可以轉換編碼。

如果發現中文輸出亂碼的時候,很可能就需要使用此函數做處理。

函數原型: iconv(in_charset ,out_charset ,str )

參數 描述

in_charset 輸入的字符集。

out_charset 輸出的字符集。如果你在 out_charset 后添加了字符串 //TRANSLIT,將啟用轉寫(transliteration)功能。這個意思是,當一個字符不能被目標字符集所表示時,它可以通過一個或多個形似的字符來近似表達。 如果你添加了字符串 //IGNORE,不能以目標字符集表達的字符將被默默丟棄。 否則,str 從第一個無效字符開始截斷并導致一個 E_NOTICE。

str 要轉換的字符串。<?php $text = "This is the Euro symbol '€'.";echo 'Original : ', $text, PHP_EOL;echo 'TRANSLIT : ', iconv("UTF-8", "ISO-8859-1//TRANSLIT", $text), PHP_EOL;echo 'IGNORE : ', iconv("UTF-8", "ISO-8859-1//IGNORE", $text), PHP_EOL;echo 'Plain : ', iconv("UTF-8", "ISO-8859-1", $text), PHP_EOL;?>1

2

3

4

5

6

71

2

3

4

5

6

7

輸出:Original : This is the Euro symbol '€'.

TRANSLIT : This is the Euro symbol 'EUR'.

IGNORE : This is the Euro symbol ''.

Plain :

Notice: iconv(): Detected an illegal character in input string in .\iconv-example.php on line 7This is the Euro symbol '1

2

3

4

5

61

2

3

4

5

6

170.exec(): 不輸出結果,返回最后一行執行結果,所有結果可以保存到一個返回的數組里面。

函數原型:

exec(command,output,return_var)

參數 描述

command 必需。要執行的命令

output 可選。一個包含每行命令執行結果的數組

return_var 可選。獲得命令執行的狀態碼

注意:dir命令適應windows系統,Linux系統請使用ls命令。<?php $l = exec("dir",$out,$stat);

print_r($l);

print_r($out);

print_r($stat);?>1

2

3

4

5

61

2

3

4

5

6

171.system(): 調用命令,輸出并返回最后一個執行結果。

函數原型: system(command,return_var)

參數 描述

command 必需。要執行的命令

return_var 可選。得到命令執行后的狀態碼<?php $l = system("dir",$arr);

print_r($arr);

print_r($l);?>1

2

3

4

51

2

3

4

5

172.serialize():作用是序列化對象、數組成一個字符串。

比如存儲數組到memcache就會被序列化。使用 unserialize() 可以還原數組。

語法

serialize(param)

參數 描述

param 必需。對象或數組。<?php $arr = array('a','b','c','serialize','怎么用');echo serialize($arr),'
';// 還原序列化的數據print_r(unserialize(serialize($arr)));?>1

2

3

4

5

61

2

3

4

5

6

輸出:a:5:{i:0;s:1:"a";i:1;s:1:"b";i:2;s:1:"c";i:3;s:9:"serialize";i:4;s:9:"怎么用";}Array ( [0] => a [1] => b [2] => c [3] => serialize [4] => 怎么用 )1

21

2

173.php_check_syntax

這個函數可以用來檢查特定文件中的PHP語法是否正確。

使用方法:<?php $error_message = "";$filename = "./php_script.php";if(!php_check_syntax($filename, &$error_message)) { echo "Errors were found in the file $filename: $error_message";

} else { echo "The file $filename contained no syntax errors";

}?>1

2

3

4

5

6

7

8

91

2

3

4

5

6

7

8

9

174.highlight_string

當你想要把PHP代碼顯示到頁面上時,highlight_string()函數就會非常有用,它可以用內置定義的語法高亮顏色把你提供的PHP代碼高亮顯示。這個函數有兩個參數,第一個參數是要被突出顯示的字符串。第二個參數如果設置成TRUE,就會把高亮后的代碼返回。

使用方法:<?phphighlight_string (' <?php phpinfo(); ?>');?>1

2

31

2

3

175.show_source

這個函數的運行和highlight_file()相似,它可以顯示PHP語法高亮后的文件,并且是根據HTML標簽進行語法高亮的。

使用方法:<?phpshow_source ("php_script.php");?>1

2

31

2

3

176.php_strip_whitespace

這個函數跟上面的show_source()函數相似,但它會刪除文件里的注釋和空格符。

使用方法:<?phpecho php_strip_whitespace("php_script.php");?>1

2

31

2

3

177.halt_compiler

它可以中止編譯器的執行,這對于在PHP腳本中嵌入數據是很有幫助的,就像安裝文件一樣。

使用方法:<?php $fp = fopen(__FILE__, 'r');

fseek($fp, __COMPILER_HALT_OFFSET__);

var_dump(stream_get_contents($fp));// the end of the script execution__halt_compiler();

?>1

2

3

4

5

6

71

2

3

4

5

6

7

178.highlight_file

這是一個非常有用的PHP函數,它能返回指定的PHP文件,并按照語法高亮突出顯示文件內容。

使用方法:<?phphighlight_file ("php_script.php");?>1

2

31

2

3

179.ignore_user_abort

利用這個函數,用戶可以拒絕瀏覽器端終止執行腳本的請求。正常情況下客戶端的退出會導致服務器端腳本的停止運行。

使用方法:<?phpignore_user_abort ();?>1

2

31

2

3

180.str_word_count

這個函數可以用來統計字符串中單詞的數量。

使用方法:<?phpecho str_word_count("Hello How Are You!");?>1

2

31

2

3

181.get_defined_vars

這個函數在代碼調試時十分重要,它會返回一個包括所有已定義的變量的多維數組。

使用方法:<?phpprint_r (get_defined_vars());?>1

2

31

2

3

182.get_browser

這個函數檢查并讀取browscap.ini文件,返回瀏覽器兼容信息。

使用方法:<?phpecho $_SERVER['HTTP_USER_AGENT'];$browser = get_browser();

print_r($browser);?>1

2

3

4

51

2

3

4

5

正則表達式-元字符

元字符及其匹配范圍

\d 匹配任意一個十進制數字,等價于: [0-9]

\D 匹配除十進制數字以外的任意數字,等價于: [^0-9]

\s:匹配空白字符,等價于: [\n\f\r\t\v]

\S: 匹配除空白字符以外的任意一個字符, 等價于[^\n\f\r\t\v]

\w 匹配任意一個數字、字母和下劃線,等價于: [0-9a-zA-Z_]

\W 匹配除字母、數字和下劃線以外的任意字符, 等價于: [^0-9a-zA-Z_]

[] 1)用來表示范圍。2)匹配任意一個中括號中定義的原子

[^]: 中括號里面的^(抑揚符):表示匹配任意一個除中括號里面定義的原子

限定次數

* 匹配0次、1次或多次其前的原子, 等價于: {0,}

+ 匹配1次或多次其前的原子, 等價于: {1,}

? 匹配0次或1次其前的原子, 等價于: {0,1}

{n} 表示其前的原子正好出現n次, 等價于: {n,}

表示其前的原子至少出現n次,最多不限制

{m,n} 表示其前的原子最少出現m次,最多出現n次

其它

. 匹配除換行符(\n)以外的任意字符【windows下還匹配\f\r】

| 兩個或多個分支選擇【優先級最低】

^ 匹配輸入字符的開始位置

$ 匹配輸入字符的結束位置

\b 匹配詞邊界

\B 匹配非詞邊界

() 1)模式單元,把多個小原子組成一個大原子。2)可以改變優先級

相關推薦:

本文原創發布php中文網,轉載請注明出處,感謝您的尊重!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538365.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538365.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538365.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Markdown 使用教程

前言 以前經常在 github 中看到 .md 格式的文件&#xff0c;一直沒有注意&#xff0c;也不明白為什么文本文檔的后綴不是 .txt ,后來無意中看到了 Markdown&#xff0c;看到了用這個東西寫得一些web界面等特別的規整漂亮&#xff0c;頓時不明覺厲。后來自己學習了一下&#xff…

wdm設備驅動程序開發pdf_DWDM是什么 DWDM相關設備功能介紹【圖文】

WDM/DWDM技術,什么是WDM/DWDM技術波分復用(WDM)是將兩種或多種不同波長的光載波信號(攜帶各種信息)在發送端經復用器(亦稱合波器&#xff0c;Multiplexer)匯合在一起&#xff0c;并耦合到光線路的同一根光纖中進行傳輸的技術;在接收端&#xff0c;經解復用器(亦稱分波器或稱去復…

Android 獲取CellId以及IMEI 獲取基站id

private void setCellIdentity() {if (isMobileConnected(this)) {System.out.println("基站已連接");int cellid0;TelephonyManager tel (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);CellLocation cel tel.getCellLocation();//移動聯通 GsmC…

團隊作業8—團隊項目用戶驗收評審

一、源代碼管理的10 個實踐問題&#xff1a; 1. 你的團隊的源代碼控制在哪里&#xff1f;用的是什么系統&#xff1f;如何處理文件的鎖定問題&#xff1f; 我們團隊項目的源代碼在GitHub上托管&#xff0c;用git控制代碼版本&#xff0c;我們用的是win10系統。在這個項目上&…

Android中已經添加權限,依然提示缺少權限,此時你需要添加動態權限

原文鏈接&#xff1a;http://blog.csdn.net/android_hdh/article/details/52583557 ------------------------------- 最近在開發項目時&#xff0c;項目需要獲取系統的WRITE_EXTERNAL_STORAGE權限&#xff0c;然后就在清單文件AndroidManifest中添加了該權限&#xff0c;但是…

linux php任務計劃,linux系統怎么添加計劃任務執行php文件

linux系統怎么添加計劃任務執行php文件linux系統怎么添加計劃任務執行php文件?PHP不支持多線程,有時候處理問題不是那么爽,小編以php文件為例&#xff0c;講解linux下的計劃任務。linux系統添加計劃任務執行php文件方法1.打開linux系統命令行界面。在命令行界面中輸入如下命令…

windows server 2008 r2 定時關機_電腦怎么定時關機 秒懂的Win10定時關機命令使用方法...

Win10怎么定時關機&#xff1f;今天芝麻科技網教大家3種Win10定時關機方法&#xff0c;包含用命令定時關機、軟件以及殺毒工具定時關機等&#xff0c;也適合XP、Win7和Win8等系統&#xff0c;相信對于一些如夜間下載東西或者大文件&#xff0c;掛機等用戶有所幫助。方法一&…

Android-循環訪問網站App

網優同事的突然需求。 花了1天開發了出來。 App截圖 App操作流程 1、賦值要循環訪問網站的地址 2、設置每次循環間隔時間和每次訪問間隔時間 3、點擊按鈕開始訪問 下載地址&#xff1a;https://download.csdn.net/download/zengmingen/9983519

與專門團隊一起持續交付

BCG Digital Ventures的首席工程師Robin Weston 最近在倫敦持續生命周期大會&#xff08;Continuous Lifecycle London&#xff09;上發布了一份經驗報告&#xff0c;在該報告中稱&#xff0c;外部支持團隊能夠在難以實施變化的組織和封閉的團隊中引入持續交付(CD)實踐。該團隊…

windows版一鍵繞id工具_Windows免費版一鍵繞過IOS13.6激活鎖工具XgRiNdA,完美重啟!...

支持iOS13.6.1系統&#xff0c;支持iPhone、iPad繞過&#xff0c;支持MEID三網、兩網GSM機器&#xff0c;只要一鍵就可以繞過&#xff0c;可以完美關機重啟&#xff0c;并且支持iTunes同步、愛思安裝軟件。新版本&#xff1a;增加屏幕鎖/停用繞過解信號功能、新增12.4~13.2.3繞…

php程序員需要學c語言嗎,程序員為什么需要學會C語言

一轉眼轉行做程序員已經快三年了&#xff0c;剛開始覺得這是個技術活&#xff0c;現在仔細想想每天的工作&#xff0c;好像大多數情況都是在復制粘貼。這不禁讓我陷入了恐懼之中&#xff0c;重新思考要突破現有的狀況。前兩年聽說iOS開發使用swift語言開發簡單&#xff0c;我就…

Could not find artifact

用Maven install 對父工程安裝到本地倉庫

uart怎么判斷幀錯誤_UART通訊總線工作原理的理解

奧的斯電梯OCSS/LCBII /TCBC/GECB板與電梯轎廂和電梯井道之間的串行通訊采用了UART通訊&#xff0c;將井道和轎廂的輸入、輸出和開關部件的信號轉換成串行通訊信號傳輸給電梯操作控制系統&#xff0c;大大節省了現場布線&#xff0c;下面就UART通訊總線工作原理的理解予以描述。…

Laravel核心代碼學習--用戶認證系統的實現細節

用戶認證系統的實現細節 上一節我們介紹了Laravel Auth系統的基礎知識&#xff0c;說了他的核心組件都有哪些構成&#xff0c;這一節我們會專注Laravel Auth系統的實現細節&#xff0c;主要關注Auth也就是AuthManager是如何裝載認證用的看守器(Guard)和用戶提供器(UserProvider…

matlab 光譜噪聲,環境小衛星高光譜影像條紋噪聲去除程序IDL版

前言源代碼PRO stripe_remove1ENVI,/Restore_Base_Save_FilesENVI_Batch_initfile DIALOG_PICKFILE(/READ, FILTER *.img)print,fileENVI_OPEN_FILE,file,r_fidfidENVI_FILE_QUERY, fid, dimsdims, nsns, nlnl, nbnbprint,fid,dims,ns,nl,nbfdata fltarr(ns,nl,nb)datafltar…

啟動TOMCAT報錯 java.util.zip.ZipException: invalid LOC header (bad signature)

報錯信息大致如下所示&#xff1a; at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:303)at org.apache.catalina.startup.Bootstrap.…

快速乘模板

描述 求 a 乘 b 對 p 取模的值&#xff0c;其中 1≤a,b,p≤10^18。 輸入格式 第一行a&#xff0c;第二行b&#xff0c;第三行p。 輸出格式 一個整數&#xff0c;表示a*b mod p的值。 樣例輸入 2 3 9 樣例輸出 6 #include <bits/stdc.h> using namespace std; const int M…

結構體怎么賦值_c語言學習之基礎知識點介紹:結構體的介紹

一、結構體的介紹/* 語法&#xff1a;struct 結構體名{成員列表;};切記切記有分號&#xff01;說明&#xff1a;成員列表就是指你要保存哪些類型的數據。注意&#xff1a;上面的語法只是定義一個新的類型&#xff0c;而這個類型叫做結構體類型。因為類型不能保存數據&#xff0…

php 生成excel空白,phpexcel庫在localhost上運行良好,但在服務器中生成空白的excel文件...

這是我的代碼,在本地主機上可以很好地使用數據庫中的數據生成一個excel文件,但在托管服務器中它會生成一個空白的excel文件&#xff1a;// Starting the PHPExcel library$this->load->library(PHPExcel);//$this->load->library(PHPExcel/IOFactory);$objPHPExcel…

阿里云Maven倉庫地址

<默認情況下配置多個mirror的情況下&#xff0c;只有第一個生效&#xff0c;只有當前一個mirror 無法連接的時候&#xff0c;才會去找后一個&#xff1b;而我們想要的效果是&#xff1a;當a.jar在第一個mirror中不存在的時候&#xff0c;maven會去第二個mirror中查詢下載&a…