PHP經常使用函數總結(二)

PHP經常使用函數總結php

數學函數html

1.abs(): 求絕對值mysql

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

2.ceil(): 進一法取整正則表達式

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

3.floor(): 捨去法取整sql

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

4.fmod(): 浮點數取餘數組

?
1
2
3
4
$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次方socket

    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);//n
11.rand(): 隨機數 輸入: 最小|最大, 輸出: 隨機數隨機返回範圍內的值

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

去空格或或其餘字符:

13.trim(): 刪除字符串兩端的空格或其餘預約義字符

?
1
2
$str = "\r\nHello World!\r\n" ;
echo trim( $str );

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

14.rtrim(): 刪除字符串右邊的空格或其餘預約義字符

?
1
2
$str = "Hello World!\n\n" ;
echo rtrim( $str );

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

16.ltrim(): 刪除字符串左邊的空格或其餘預約義字符

 

?
1
2
$str = "\r\nHello World!" ;
echo ltrim( $str );

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

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

字符串生成與轉化:  

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

?
1
2
$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(): 按照指定長度對字符串進行折行處理

?
1
2
3
$str = "An example on a long word is:
Supercalifragulistic";
echo wordwrap( $str ,15);

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

輸出: 折行後的新字符串

23.str_shuffle(): 隨機地打亂字符串中全部字符

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

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

?
1
2
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 world
29.ucwords(): 字符串每一個單詞首字符轉爲大寫

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

30.htmlentities(): 把字符轉爲HTML實體

?
1
2
$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():在指定的字符前添加反斜線轉義字符串中字符

?
1
2
3
$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(): 在字符串中某些預約義的字符前添加反斜線

?
1
2
3
$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編碼

?
1
2
$str = "Hello" ;
echo md5( $str );

數組函數

數組建立:

72.array(): 生成一個數組

?
1
2
$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(): 建立一個由參數所帶變量組成的數組

?
1
2
3
4
5
6
$firstname = "Peter" ;
$lastname = "Griffin" ;
$age = "38" ;
$result = compact( "firstname" , "lastname" ,
"age" );
print_r( $result );

變量或數組

返回由變量名爲鍵,變量值爲值的數組,變量也能夠爲多維數組.會遞歸處理 76.array_fill(): 用給定的填充(值生成)數組

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

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

數組合並和拆分:    

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

?
1
2
$a = array ( "a" => "Cat" , "b" => "Dog" , "c" => "Horse" , "d" => "Cow" );
print_r( array_chunk ( $a ,2));

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

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

?
1
2
3
$a1 = array ( "a" => "Horse" , "b" => "Dog" );
$a2 = array ( "c" => "Cow" , "b" => "Cat" );
print_r( array_merge ( $a1 , $a2 ));

輸入: 兩個數組 輸出: 返回完成後的數組

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

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

輸入: 一個數組 輸出: 1爲從'Cat'開始,2爲返回兩個元素

數組比較:

80.array_diff(): 返回兩個數組的差集數組

?
1
2
3
$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(): 在數組中查找一個值,返回一個鍵,沒有返回返回假

?
1
2
$a = array ( "a" => "Dog" , "b" => "Cat" , "c" => "Horse" );
echo array_search ( "Dog" , $a );

輸入: 一個數組 輸出: 成功返回鍵名,失敗返回false

83.array_splice(): 把數組中一部分刪除用其餘值替代

?
1
2
3
4
$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(): 返回數組中全部值的總和

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

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

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

?
1
2
3
4
5
6
7
$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(): 用數組中的元素爲一組變量賦值

?
1
2
$my_array = array ( "Dog" , "Cat" , "Horse" );
list( $a , $b , $c ) = $my_array ;


輸入: $a, $b, $c爲須要賦值的變量 輸出: 變量分別匹配數組中的值

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

?
1
2
3
$a = array ( "a" => "Dog" , "b" => "Cat" , "c" => "Horse" );
echo array_shift ( $a );
print_r ( $a );

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

?
1
2
3
$a = array ( "a" => "Cat" , "b" => "Dog" );
array_unshift ( $a , "Horse" );
print_r( $a );

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

?
1
2
3
$a = array ( "Dog" , "Cat" );
array_push ( $a , "Horse" , "Bird" );
print_r( $a );

輸入: 目標數組|須要壓入的值 返回值: 返回新的數組

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

?
1
2
3
$a = array ( "Dog" , "Cat" , "Horse" );
array_pop ( $a );
print_r( $a );

輸入: $a爲目標數組 輸出: 返回數組剩餘元素

數組鍵值操做:     

98.shuffle(): 將數組打亂,保留鍵名

?
1
2
3
$my_array = array ( "a" => "Dog" , "b" => "Cat" );
shuffle( $my_array );
print_r( $my_array );

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

99.count(): 計算數組中的單元數目或對象中的屬性個數

?
1
2
3
4
$people = array ( "Peter" , "Joe" , "Glenn" ,
"Cleveland" );
$result = count ( $people );
echo $result ;


輸入: 數組 輸出: 輸出元素個數

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

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


輸出: 返回完成後的數組 101.array_keys(): 返回數組全部的鍵,組成一個數組

?
1
2
$a = array ( "a" => "Horse" , "b" => "Cat" , "c" => "Dog" );
print_r( array_keys ( $a ));

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

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

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

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

104.array_count_values(): 統計數組中全部的值出現的次數

?
1
2
$a = array ( "Cat" , "Dog" , "Horse" , "Dog" );
print_r( array_count_values ( $a ));

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

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

?
1
2
$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(): 刪除重複值,返回剩餘數組

?
1
2
$a = array ( "a" => "Cat" , "b" => "Dog" , "c" => "Cat" );
print_r( array_unique ( $a ));

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

數組排序:   

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

?
1
2
3
4
$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:password@example.com/somefile.txt", "w");
調用: resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )

返回值: 若是打開失敗,本函數返回 FALSE

117.fclose(): 關閉一個已打開的文件指針

?
1
2
3
$handle = fopen ( 'somefile.txt' , 'r' );
fclose( $handle );
bool fclose(resource handle)


輸出: 若是成功則返回 TRUE,失敗則返回 FALSE

文件屬性

118.file_exists(): 檢查文件或目錄是否存在

?
1
2
3
4
5
6
$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(): 取得文件大小

?
1
2
$filename = 'somefile.txt' ;
echo $filename . ': ' . filesize ( $filename ) . 'bytes' ;

調用: int filesize ( string $filename )

輸出: 返回文件大小的字節數,若是出錯返回 FALSE 並生成一條 E_WARNING 級的錯誤

120.is_readable(): 判斷給定文件是否可讀

?
1
2
3
4
5
6
$filename = 'test.txt' ;
if ( is_readable ( $filename )) {
echo '可讀' ;
} else {
echo '不可讀' ;
}

調用: bool is_readable ( string $filename ) 輸出: 若是由 filename指定的文件或目錄存在而且可讀則返回 TRUE

121.is_writable(): 判斷給定文件是否可寫

?
1
2
3
4
5
6
$filename = 'test.txt' ;
if ( is_writable ( $filename )) {
echo '可寫' ;
} else {
echo '不可寫' ;
}

調用: bool is_writable ( string $filename ) filename 參數 能夠是一個容許進行是否可寫檢查的目錄名

輸出: 若是文件存在而且可寫則返回 TRUE。

122.is_executable(): 判斷給定文件是否可執行

?
1
2
3
4
5
6
$file = 'setup.exe' ;
if ( is_executable ( $file )) {
echo '可執行' ;
} else {
echo '不可執行' ;
}

調用: bool is_executable ( string $filename ) 輸出: 若是文件存在且可執行則返回 TRUE

123.filectime(): 獲取文件的建立時間

 

?
1
2
$filename = 'somefile.txt' ;
echo filectime ( $filename );

調用: int filectime ( string $filename ) 輸出: 時間以 Unix 時間戳的方式返回,若是出錯則返回FALSE

124.filemtime(): 獲取文件的修改時間

?
1
2
$filename = 'somefile.txt' ;
echo filemtime ( $filename );

    int filemtime ( string $filename )
輸出: 返回文件上次被修改的時間,出錯時返回 FALSE。時間以 Unix時間戳的方式返回

125.fileatime(): 獲取文件的上次訪問時間

?
1
2
$filename = 'somefile.txt' ;
echo fileatime ( $filename );

調用: int fileatime (string $filename)

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

126.stat(): 獲取文件大部分屬性值

?
1
2
$filename = 'somefile.txt' ;
var_dump( fileatime ( $filename ));

調用: array stat (string $filename 輸出: 返回由 filename 指定的文件的統計信息

文件操做

127.fwrite(): 寫入文件

?
1
2
3
4
5
$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(): 讀取文件

?
1
2
3
4
$filename = "/usr/local/something.txt" ;
$handle = fopen ( $filename , "r" );
$contents = fread ( $handle , filesize ( $filename ));
  fclose( $handle );

調用: string fread ( int handle, int length ) 從文件指針handle,讀取最多 length 個字節

130.feof(): 檢測文件指針是否到了文件結束的位置

?
1
2
3
4
$file = @ fopen ( "no_such_file" , "r" );
while (! feof ( $file )) {
}
fclose( $file );

調用: bool feof ( resource handle ) 輸出: 若是文件指針到了 EOF 或者出錯時則返回TRUE,不然返回一個錯誤(包括 socket 超時),其它狀況則返回 FALSE

131.fgets(): 從文件指針中讀取一行

?
1
2
3
4
5
6
7
8
$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(): 從文件指針中讀取字符

?
1
2
3
4
5
6
7
$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(): 把整個文件讀入一個數組中

?
1
2
3
4
5
6
7
8
9
10
$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(): 返回文件指針讀/寫的位置

?
1
2
3
4
5
$fp = fopen ( 'tx.txt' , 'r' );
fseek ( $fp ,10);
echo ftell ( $fp );
fread ( $fp ,4);
echo ftell ( $fp );

調用: int ftell ( resource $handle ) 輸出: 返回由 handle 指定的文件指針的位置,也就是文件流中的偏移量

138.fseek(): 在文件指針中定位

?
1
2
3
4
5
$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(): 倒回文件指針的位置

?
1
2
3
4
5
6
$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(): 輕便的執行文件鎖定

?
1
2
3
4
5
6
$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(): 返回路徑中的文件名部分

?
1
2
3
path = "/home/httpd/html/index.php" ;
$file = basename ( $path );
$file = basename ( $path , ".php" );

調用: string basename ( string $path [, string $suffix ]) 輸出: 給出一個包含有指向一個文件的全路徑的字符串,本函數返回基本的文件名。若是文件名是以 suffix 結 束的,那這一部分也會被去掉

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

?
1
2
$path = "/etc/passwd" ;
$file = dirname( $path );

調用: string dirname ( string $path ) 輸出: 給出一個包含有指向一個文件的全路徑的字符串,本函數返回去掉文件名後的目錄名

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

?
1
2
3
echo '<pre>' ;
print_r( pathinfo ( "/www/htdocs/index.html" ));
echo '</pre>' ;

調用: mixed pathinfo ( string $path [, int $options ] ) 返回一個關聯數組包含有 path 的信息

144.opendir(): 打開目錄句柄

?
1
2
3
$fp =opendir( 'E:/xampp/htdocs/php/study/19' );
echo readdir( $fp );
closedir ( $fp );

調用: resource opendir ( string $path [, resource $context ] ) 返回值: 若是成功則返回目錄句柄的 resource,失敗則返回FALSE

145.readdir(): 從目錄句柄中讀取條目

?
1
2
3
$fp =opendir( 'E:/xampp/htdocs/php/study/19' );
echo readdir( $fp );
closedir ( $fp );

調用: string readdir ( resource $dir_handle ) 返回值: 返回目錄中下一個文件的文件名。文件名以在文件系統中的排序返回

146.closedir(): 關閉目錄句柄

?
1
2
3
$fp =opendir( 'E:/xampp/htdocs/php/study/19' );
echo readdir( $fp );
closedir ( $fp );

調用: void closedir ( resource $dir_handle ) 關閉由 dir_handle 指定的目錄流。流必須以前被opendir() 所打開 147.rewinddir() : 倒回目錄句柄

 

?
1
2
3
4
5
6
7
$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(): 刪除文件

?
1
2
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上傳的

?
1
2
3
4
5
6
7
8
9
10
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(): 將上傳的文件移動到新位置

?
1
2
3
4
5
6
7
8
9
10
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

?
1
2
3
4
5
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得出的包含有日期信息的關聯數組。若是沒有給出時間戳則認爲是當前本地時間

?
1
2
$t = getdate ();
var_dump( $t );

160.strtotime(): 將任何英文文本的日期時間描述解析爲 Unix 時間戳

?
1
2
3
4
5
6
7
8
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 ] )

?
1
2
3
4
$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()

?
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
29
<?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 "<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:匹配空白字符,等價於: [\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)能夠改變優先級

相關文章
相關標籤/搜索