1. 程式人生 > >PHP常用函式總結

PHP常用函式總結

數學函式

1.abs(): 求絕對值

$abs = abs(-4.2); //4.2 數字絕對值數字

2.ceil(): 進一法取整

echo ceil(9.999); // 10 浮點數進一取整

3.floor(): 捨去法取整

    echo floor(9.999); // 9 浮點數直接捨去小數部分

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.7

5.pow(): 返回數的n次方

    echo pow(-1, 20); // 1 基礎數|n次方乘方值

6.round(): 浮點數四捨五入

    echo round(1.95583, 2); // 1.96, 一個數值|保留小數點後多少位,預設為0 舍入後的結果

7.sqrt(): 求平方根

    echo sqrt(9); //3 被開方的數平方根

8.max(): 求最大值

    echo max(1, 3, 5, 6, 7); // 7

多個數字或陣列 返回其中的最大值

    echo max(array(2, 4, 5)); // 5

9.min(): 求最小值

輸入: 多個數字或陣列

輸出: 返回其中的最小值

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

輸入: 最小|最大, 輸出: 隨機數隨機返回範圍內的值

    echo mt_rand(0,9);//n11.rand(): 隨機數 輸入: 最小|最大, 輸出: 隨機數隨機返回範圍內的值

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

去空格或或其他字元:

13.trim(): 刪除字串兩端的空格或其他預定義字元

$str "\r\nHello World!\r\n";

echo trim($str);

輸入: 目標字串 返回值: 清除後的字串

14.rtrim(): 刪除字串右邊的空格或其他預定義字元

$str

 "Hello World!\n\n";

echo rtrim($str);

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

16.ltrim(): 刪除字串左邊的空格或其他預定義字元

$str "\r\nHello World!";

echo ltrim($str);

17.dirname(): 返回路徑中的目錄部分

    echo dirname("c:/testweb/home.php");  //c:/testweb 輸入: 一個包含路徑的字串 返回值: 返回檔案路徑的目錄部分

字串生成與轉化:  

18.str_pad(): 把字串填充為指定的長度

$str "Hello World";

echo str_pad($str,20,".");

輸入: 要填充的字串|新字串的長度|供填充使用的字串, 預設是空白

輸出: 完成後的字串

19.str_repeat(): 重複使用指定字串

    echo str_repeat(".",13); // 要重複的字串|字串將被重複的次數13個點20.str_split(): 把字串分割到陣列中

print_r(str_split("Hello")); 輸入: 要分割的字串|每個陣列元素的長度,預設1

輸出: 拆分後的字串陣列

21.strrev(): 反轉字串

    echo strrev("Hello World!"); // !dlroW olleH 輸出: 目標字串顛倒順序後的字串

22.wordwrap(): 按照指定長度對字串進行折行處理

$str = "An example on a long word is:

Supercalifragulistic";

echo wordwrap($str,15);

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

輸出: 折行後的新字串

23.str_shuffle(): 隨機地打亂字串中所有字元

    echo str_shuffle("Hello World"); 輸入: 目標字串順序 輸出: 打亂後的字串

24.parse_str(): 將字串解析成變數

parse_str("id=23&name=John%20Adams"$myArray);

print_r($myArray);

輸入: 要解析的字串|儲存變數的陣列名稱

輸出: 返回Array( [id] => 23 [name] => John Adams)

25.number_format(): 通過千位分組來格式化數字 輸入: 要格式化的數字|規定多少個小數|規定用作小數點的字元 串|規定用作千位分隔符的字串

輸出: 1,000,000 1,000,000.00 1.000.000,00

大小寫轉換:

26.strtolower(): 字串轉為小寫

    echo strtolower("Hello WORLD!"); 目標字串 小寫字串

27.strtoupper(): 字串轉為大寫

    echo strtoupper("Hello WORLD!"); 輸出: 大寫字串

28.ucfirst(): 字串首字母大寫

    echo ucfirst("hello world"); // Hello world29.ucwords(): 字串每個單詞首字元轉為大寫

    echo ucwords("hello world"); // Hello World html標籤關聯:

30.htmlentities(): 把字元轉為HTML實體

$str "John & 'Adams'";

echo htmlentities($str, ENT_COMPAT); // John & 'Adams'

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

32.nl2br(): \n轉義為<br>標籤

    echo nl2br("One line.\nAnother line."); 輸出: 處理後的字串

33.strip_tags(): 剝去 HTML、XML 以及 PHP 的標籤

    echo strip_tags("Hello <b>world!</b>");  34.addcslashes():在指定的字元前新增反斜線轉義字串中字元

$str "Hello, my name is John Adams.";

echo $str;

echo addcslashes($str,'m');

輸入: 目標字串|指定的特定字元或字元範圍

35.stripcslashes(): 刪除由addcslashes()新增的反斜線

    echo stripcslashes("Hello, \my na\me is Kai Ji\m.");     // 目標字串 Hello, my name is Kai Jim.36.addslashes(): 指定預定義字元前新增反斜線

    $str = "Who's John Adams?"; echo addslashes($str); 輸出: 把目標串中的' " \和null進行轉義處理

37.stripslashes(): 刪除由addslashes()新增的轉義字元

    echo stripslashes("Who\'s John Adams?"); // 清除轉義符號Who's John Adams?38.quotemeta(): 在字串中某些預定義的字元前新增反斜線

$str "Hello world. (can you hear me?)";

echo quotemeta($str);

// Hello world\. \(can you hear me\?\)

39.chr(): 從指定的 ASCII 值返回字元

    echo chr(052); // ASCII 值返回對應的字元40.ord(): 返回字串第一個字元的ASCII值

    echo ord("hello"); 字串第一個字元的 ASCII 值 字串比較:

41.strcasecmp(): 不區分大小寫比較兩字串

    echo strcasecmp("Hello world!","HELLO WORLD!"); 輸入: 兩個目標字串 輸出: 大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);

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

73.array_combine(): 生成一個數組,用一個數組的值 作為鍵名,另一個數組值作為值

    $a1=array("a","b","c","d");     $a2=array("Cat","Dog","Horse","Cow");     print_r(array_combine($a1,$a2)); $a1為提供鍵,$a2提供值合成後的陣列

74.range(): 建立並返回一個包含指定範圍的元素的陣列。

    $number = range(0,50,10);     print_r ($number); 輸入: 0是最小值,50是最大值,10是步長 輸出: 合成後的陣列

75.compact(): 建立一個由引數所帶變數組成的陣列

$firstname "Peter";

$lastname "Griffin";

$age "38";

$result = compact("firstname""lastname",

"age");

print_r($result);

變數或陣列

返回由變數名為鍵,變數值為值的陣列,變數也可以為多維陣列.會遞迴處理 76.array_fill(): 用給定的填充(值生成)陣列

$a=array_fill(2,3,"Dog");

print_r($a);

2是鍵,3是填充的數量,'Dog'為填充內容返回完成的陣列

數組合並和拆分:    

77.array_chunk(): 把一個數組分割為新的陣列塊

$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");

print_r(array_chunk($a,2));

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

78.array_merge(): 把兩個或多個數組合併為一個數組。

$a1=array("a"=>"Horse","b"=>"Dog");

$a2=array("c"=>"Cow","b"=>"Cat");

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

輸入: 兩個陣列 輸出: 返回完成後的陣列

79.array_slice(): 在陣列中根據條件取出一段值,並返回。

$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");

print_r(array_slice($a,1,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'

輸入: 兩個或多個數組 輸出: $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);

輸入: 一個數組 輸出: 成功返回鍵名,失敗返回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);

輸入: 一個或多個數組 輸出: $a1被移除的部分由$a2補全

84.array_sum(): 返回陣列中所有值的總和

$a=array(0=>"5",1=>"15",2=>"25");

echo array_sum($a);

輸入: 一個數組 輸出: 返回和

85.in_array(): 在陣列中搜索給定的值,區分大小寫

$people array("Peter""Joe""Glenn""Cleveland");

if (in_array("Glenn",$people) {

echo "Match found";

}

else{

echo "Match not found";

}

輸入: 需要搜尋的值|陣列 輸出: 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;

輸入: $a, $b, $c為需要賦值的變數 輸出: 變數分別匹配陣列中的值

94.array_shift(): 刪除陣列中的第一個元素,並返回被刪除元素的值

$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");

echo array_shift($a);

print_r ($a);

95.array_unshift(): 在陣列開頭插入一個或多個元素

$a=array("a"=>"Cat","b"=>"Dog");

array_unshift($a,"Horse");

print_r($a);

96.array_push(): 向陣列最後壓入一個或多個元素

$a=array("Dog","Cat");

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

print_r($a);

輸入: 目標陣列|需要壓入的值 返回值: 返回新的陣列

97.array_pop(): 取得(刪除)陣列中的最後一個元素

$a=array("Dog","Cat","Horse");

array_pop($a);

print_r($a);

輸入: $a為目標陣列 輸出: 返回陣列剩餘元素

陣列鍵值操作:     

98.shuffle(): 將陣列打亂,保留鍵名

$my_array array("a" => "Dog""b" => "Cat");

shuffle($my_array);

print_r($my_array);

輸入: 一個或多個數組 輸出: 順序打亂後的陣列

99.count(): 計算陣列中的單元數目或物件中的屬性個數

$people array("Peter""Joe""Glenn",

"Cleveland");

$result count($people);

echo $result;

輸入: 陣列 輸出: 輸出元素個數

100.array_flip(): 返回一個鍵值反轉後的陣列

$a=array(0=>"Dog",1=>"Cat",2=>"Horse");

print_r(array_flip($a));

輸出: 返回完成後的陣列 101.array_keys(): 返回陣列所有的鍵,組成一個數組

$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");

print_r(array_keys($a));

輸出: 返回由鍵名組成的陣列

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

輸出: 返回由鍵值組成的陣列

103.array_reverse(): 返回一個元素順序相反的陣列 元素順序相反的一個數組,鍵名和鍵值依然匹配

104.array_count_values(): 統計陣列中所有的值出現的次數

$a=array("Cat","Dog","Horse","Dog");

print_r(array_count_values($a));

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

105.array_rand(): 從陣列中隨機抽取一個或多個元素,注意是鍵名!!!

$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");

print_r(array_rand($a,1));

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

輸入: 陣列 輸入: 返回無重複值陣列,鍵名不變

陣列排序:   

108.sort(): 按升序對給定陣列的值排序,不保留鍵名

$my_array array("a" => "Dog""b" => "Cat",

"c" => "Horse");

sort($my_array);

print_r($my_array);

輸出: true/false  

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

110.asort(): 對陣列排序,保持索引關係   

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

112.ksort(): 系按鍵名對陣列排序 

113.krsort(): 將陣列按照鍵逆向排序

114.natsort(): 用自然順序演算法對陣列中的元素排序    

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

檔案系統函式

116.fopen(): 開啟檔案或者 URL

    $handle = fopen("ftp://user:[email protected]/somefile.txt", "w");

呼叫: 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)

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

檔案屬性

118.file_exists(): 檢查檔案或目錄是否存在

$filename '/path/to/foo.txt';

if (file_exists($filename)) {

echo "exists";

else {

echo "does not exist";

}

呼叫: bool file_exists ( string filename ) 輸入: 指定的檔案或目錄 輸出: 存在則返回 TRUE,否則返回 FALSE

119.filesize(): 取得檔案大小

$filename 'somefile.txt';

echo $filename ': ' filesize($filename) .'bytes';

 呼叫: int filesize ( string $filename )

 輸出: 返回檔案大小的位元組數,如果出錯返回 FALSE 並生成一條 E_WARNING 級的錯誤

120.is_readable(): 判斷給定檔案是否可讀

$filename 'test.txt';

if (is_readable($filename)) {

echo '可讀';

else {

echo '不可讀';

}

呼叫: bool is_readable ( string $filename ) 輸出: 如果由 filename指定的檔案或目錄存在並且可讀則返回 TRUE

121.is_writable(): 判斷給定檔案是否可寫

$filename 'test.txt';

if (is_writable($filename)) {

echo '可寫';

else {

echo '不可寫';

}

呼叫: bool is_writable ( string $filename ) filename 引數 可以是一個允許進行是否可寫檢查的目錄名

 輸出: 如果檔案存在並且可寫則返回 TRUE。

122.is_executable(): 判斷給定檔案是否可執行

$file 'setup.exe';

if (is_executable($file)) {

echo '可執行';

else {

echo '不可執行';

}

呼叫: bool is_executable ( string $filename ) 輸出: 如果檔案存在且可執行則返回 TRUE

123.filectime(): 獲取檔案的建立時間

$filename 'somefile.txt';

echo filectime($filename);

呼叫: int filectime ( string $filename ) 輸出: 時間以 Unix 時間戳的方式返回,如果出錯則返回FALSE

124.filemtime(): 獲取檔案的修改時間

$filename 'somefile.txt';

echo filemtime($filename);

    int filemtime ( string $filename )

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

125.fileatime(): 獲取檔案的上次訪問時間

$filename 'somefile.txt';

echo fileatime($filename);

呼叫: int fileatime (string $filename)

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

126.stat(): 獲取檔案大部分屬性值

$filename 'somefile.txt';

var_dump(fileatime($filename));

 呼叫: array stat (string $filename 輸出: 返回由 filename 指定的檔案的統計資訊

檔案操作

127.fwrite(): 寫入檔案

$filename 'test.txt';

$somecontent "新增這些文字到檔案\n";

$handle fopen($filename'a');

fwrite($handle$somecontent);

fclose($handle);

呼叫: 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($handlefilesize($filename));

fclose($handle);

呼叫: string fread ( int handle, int length ) 從檔案指標handle,讀取最多 length 個位元組

130.feof(): 檢測檔案指標是否到了檔案結束的位置

$file = @fopen("no_such_file""r");

while (!feof($file)) {

}

fclose($file);

呼叫: 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);

}

呼叫: 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";

}

輸入: string fgetc ( resource $handle )

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

133.file(): 把整個檔案讀入一個數組中

$lines = file('http://www.example.com/');

// 在陣列中迴圈,顯示 HTML 的原始檔並加上行號。

foreach ($lines as $line_num => $line) {

echo "Line #<b>{$line_num}</b> : " .

htmlspecialchars($line) . "<br />\n";

}

// 另一個例子將 web 頁面讀入字串。參見 file_get_contents()。

$html = implode('', file('http://www.example.com/'));

呼叫: 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');

呼叫: 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');

呼叫: 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);

呼叫: int ftell ( resource $handle )

輸出: 返回由 handle 指定的檔案指標的位置,也就是檔案流中的偏移量

138.fseek(): 在檔案指標中定位

$fp=fopen('tx.txt','r');

fseek($fp,10);

echo ftell($fp);

fread($fp,4);

echo ftell($fp);

呼叫: 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);

呼叫: 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);

呼叫: 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");

呼叫: string basename ( string $path [, string $suffix ])

輸出: 給出一個包含有指向一個檔案的全路徑的字串,本函式返回基本的檔名。如果檔名是以 suffix 結 束的,那這一部分也會被去掉

142.dirname(): 返回路徑中的目錄部分

$path "/etc/passwd";

$file = dirname($path);

呼叫: string dirname ( string $path )

輸出: 給出一個包含有指向一個檔案的全路徑的字串,本函式返回去掉檔名後的目錄名

143.pathinfo(): 返回檔案路徑的資訊

echo '<pre>';

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

echo '</pre>';

呼叫: mixed pathinfo ( string $path [, int $options ] )

返回一個關聯陣列包含有 path 的資訊

144.opendir(): 開啟目錄控制代碼

$fp=opendir('E:/xampp/htdocs/php/study/19');

echo readdir($fp);

closedir($fp);

呼叫: resource opendir ( string $path [, resource $context ] )

返回值: 如果成功則返回目錄控制代碼的 resource,失敗則返回FALSE

145.readdir(): 從目錄控制代碼中讀取條目

$fp=opendir('E:/xampp/htdocs/php/study/19');

echo readdir($fp);

closedir($fp);

呼叫: string readdir ( resource $dir_handle )

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

146.closedir(): 關閉目錄控制代碼

$fp=opendir('E:/xampp/htdocs/php/study/19');

echo readdir($fp);

closedir($fp);

呼叫: void closedir ( resource $dir_handle ) 關閉由 dir_handle 指定的目錄流。流必須之前被opendir() 所開啟

147.rewinddir() : 倒回目錄控制代碼

$fp=opendir('E:/xampp/htdocs/php/study/19');

echo readdir($fp).'<br />';

echo readdir($fp).'<br />';

echo readdir($fp).'<br />';

rewinddir($fp);

echo readdir($fp).'<br />';

closedir($fp);

呼叫: void rewinddir ( resource $dir_handle )

輸出: 將 dir_handle 指定的目錄流重置到目錄的開頭 148.mkdir(): 新建目錄

    mkdir('123');

呼叫: bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] ) 輸出: 嘗試新建一個由 pathname 指定的目錄

149.rmdir(): 刪除目錄

    rmdir('123');

呼叫: bool rmdir ( string $dirname ) 輸出: 嘗試刪除 dirname 所指定的目錄。目錄必須是空的,而且要有相應的許可權。如果成功則返回TRUE,失敗則返回 FALSE

150.unlink(): 刪除檔案

unlink('123/1.txt');

rmdir('123');

呼叫: bool unlink ( string $filename )

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

151.copy(): 拷貝檔案

    copy('index.php','index.php.bak');

呼叫: bool copy ( string $source , string $dest ) 輸出: 將檔案從 source 拷貝到 dest. 如果成功則返回TRUE,失敗則返回 FALSE

152.rename(): 重新命名一個檔案或目錄

    rename('tx.txt','txt.txt');

呼叫: 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 '上傳成功<br /><img src="'.$NewPath.'">';

}else{

exit('失敗');

}

}else{

exit('不是上傳檔案');

}

呼叫: 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 '上傳成功<br /><img src="'.$NewPath.'">';

}else{

exit('失敗');

}

}else{

exit('不是上傳檔案');

}

呼叫: 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);

呼叫: 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');

呼叫: string date ( string $format [, int $timestamp ] )

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

157.checkdate(): 驗證一個格里高裡日期 呼叫: bool checkdate ( int $month , int $day , int $year) 輸出: 如果給出的日期有效則返回 TRUE,否則返回 FALSE

if(checkdate(6,31,2012)){

echo '成立';

}else{

echo '不成立';

}

158.date_default_timezone_set(): 設定用於一個指令碼中所有日期時間函式的預設時區

    date_default_timezone_set('PRC');

呼叫: bool date_default_timezone_set ( string $timezone_identifier)

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

159.getdate(): 取得日期/時間資訊 呼叫: array getdate ([ int $timestamp ] )

輸出: 返回一個根據timestamp得出的包含有日期資訊的關聯陣列。如果沒有給出時間戳則認為是當前本地時間

$t=getdate();

var_dump($t);

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

161.microtime(): 返回當前 Unix 時間戳和微秒數 呼叫: mixed microtime ([ bool $get_as_float ] )

$start=microtime(true);

sleep(3);

$stop=microtime(true);

echo $stop-$start;

其他常用:

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。

PDO類的相關函式 prepare() execute() fetch()

$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 "<h2>Database CODINGGROUND Connected<h2>";

}catch(PDOException $e){

echo "<h1>" $e->getMessage() . "</h1>";

}

$sql 'SELECT * FROM users';

$stmt $conn->prepare($sql);

$stmt->execute();

echo "<table style='width:100%'>";

while($row $stmt->fetch(PDO::FETCH_ASSOC)){

echo "<tr>";

foreach($row as $value)

{

echo sprintf("<td>%s</td>"$value);

}

echo "</tr>";

}

echo "</table>";

正則表示式-元字元

元字元及其匹配範圍

\d 匹配任意一個十進位制數字,等價於: [0-9] \D 匹配除十進位制數字以外的任意數字,等價於: [^0-9] \s:匹配空