PHP常用180函式總結
數學函式
1.abs(): 求絕對值
<span style="font-size: 14px;">$abs = abs(-4.2); //4.2<br></span>
輸入: 數字
輸出: 絕對值數字
2.ceil(): 進一法取整
<span style="font-size: 14px;">echo ceil(9.999); // 10<br></span>
輸出: 浮點數進一取整
3.floor(): 去尾法取整
<span style="font-size: 14px;"> echo floor(9.999); // 9<br></span>
輸出: 浮點數直接捨去小數部分
4.fmod(): 浮點數取餘
<span style="font-size: 14px;"> $x = 5.7; $y = 1.3; // 兩個浮點數,x>y 浮點餘數<br> $r = fmod($x, $y); // $r equals 0.5, because 4 * 1.3 + 0.5 = 5.7<br></span>
5.pow(): 返回數的n次方
<span style="font-size: 14px;"> echo pow(-1, 20); // 1 基礎數|n次方乘方值<br></span>
6.round(): 浮點數四捨五入
<span style="font-size: 14px;"> echo round(1.95583, 2);
// 1.96, 一個數值|保留小數點後多少位,預設為0 舍入後的結果
</span>
7.sqrt(): 求平方根
<span style="font-size: 14px;"> echo sqrt(9); //3 被開方的數平方根<br></span>
8.max(): 求最大值
<span style="font-size: 14px;"> echo max(1, 3, 5, 6, 7); // 7<br></span>
多個數字或陣列
返回其中的最大值
<span style="font-size: 14px;"> echo max(array(2, 4, 5));
// 5
</span>
9.min(): 求最小值
輸入: 多個數字或陣列
輸出: 返回其中的最小值
10.mt_rand(): 更好的隨機數
輸入: 最小|最大,
輸出: 隨機數隨機返回範圍內的值
<span style="font-size: 14px;"> echo mt_rand(0,9);//n<br></span>
11.rand(): 隨機數
輸入: 最小|最大,
輸出: 隨機數隨機返回範圍內的值
12.pi(): 獲取圓周率值
字串函式
去空格或或其他字元:
13.trim(): 刪除字串兩端的空格或其他預定義字元
<span style="font-size: 14px;"> $str = "\r\nHello World!\r\n"; echo trim($str);<br></span>
輸入: 目標字串
返回值: 清除後的字串
14.rtrim(): 刪除字串右邊的空格或其他預定義字元
<span style="font-size: 14px;"> $str = "Hello World!\n\n"; echo rtrim($str);<br></span>
15.chop(): rtrim()的別名
16.ltrim(): 刪除字串左邊的空格或其他預定義字元
<span style="font-size: 14px;"> $str = "\r\nHello World!"; echo ltrim($str);<br></span>
17.dirname(): 返回路徑中的目錄部分
<span style="font-size: 14px;"> echo dirname("c:/testweb/home.php"); //c:/testweb<br></span>
輸入: 一個包含路徑的字串
返回值: 返回檔案路徑的目錄部分
字串生成與轉化:
18.str_pad(): 把字串填充為指定的長度
<span style="font-size: 14px;"> $str = "Hello World"; echo str_pad($str,20,".");<br></span>
輸入:
要填充的字串|新字串的長度|供填充使用的字串, 預設是空白
輸出:
完成後的字串
19.str_repeat(): 重複使用指定字串
<span style="font-size: 14px;"> echo str_repeat(".",13); // 要重複的字串|字串將被重複的次數13個點<br></span>
20.str_split(): 把字串分割到陣列中
<span style="font-size: 14px;">print_r(str_split("Hello"));<br></span>
輸入: 要分割的字串|每個陣列元素的長度,預設1
輸出: 拆分後的字串陣列
21.strrev(): 反轉字串
<span style="font-size: 14px;"> echo strrev("Hello World!"); // !dlroW olleH<br></span>
輸出: 目標字串顛倒順序後的字串
22.wordwrap(): 按照指定長度對字串進行折行處理
<span style="font-size: 14px;"> $str = "An example on a long word is: Supercalifragulistic"; echo wordwrap($str,15);<br></span>
輸入: 目標字串|最大寬數
輸出: 折行後的新字串
23.str_shuffle(): 隨機地打亂字串中所有字元
<span style="font-size: 14px;"> echo str_shuffle("Hello World");<br></span>
輸入: 目標字串順序
輸出: 打亂後的字串
24.parse_str(): 將字串解析成變數
<span style="font-size: 14px;"> parse_str("id=23&name=John%20Adams", $myArray);<br> print_r($myArray);<br></span>
輸入: 要解析的字串|儲存變數的陣列名稱
輸出:
<span style="font-size: 14px;">Array(<br>[id] => 23[name] => John Adams)<br></span>
25.number_format(): 通過千位分組來格式化數字
輸入:
要格式化的數字|規定多少個小數|規定用作小數點的字串|規定用作千位分隔符的字串
輸出:
<span style="font-size: 14px;">1,000,000<br>1,000,000.00<br>1.000.000,00<br></span>
大小寫轉換:
26.strtolower(): 字串轉為小寫
<span style="font-size: 14px;"> echo strtolower("Hello WORLD!");<br></span>
目標字串
小寫字串
27.strtoupper(): 字串轉為大寫
<span style="font-size: 14px;"> echo strtoupper("Hello WORLD!");<br></span>
輸出: 大寫字串
28.ucfirst(): 字串首字母大寫
<span style="font-size: 14px;"> echo ucfirst("hello world"); // Hello world<br></span>
29.ucwords(): 字串每個單詞首字元轉為大寫
<span style="font-size: 14px;"> echo ucwords("hello world"); // Hello World<br></span>
html標籤關聯:
30.htmlentities(): 把字元轉為HTML實體
<span style="font-size: 14px;"> $str = "John & 'Adams'";echo htmlentities($str, ENT_COMPAT); // John & 'Adams'<br></span>
31.htmlspecialchars(): 預定義字元轉html編碼
32.nl2br(): n轉義為
標籤
<span style="font-size: 14px;"> echo nl2br("One line.\nAnother line.");<br></span>
輸出: 處理後的字串
33.strip_tags(): 剝去 HTML、XML 以及 PHP 的標籤
<span style="font-size: 14px;"> echo strip_tags("Hello <b>world!</b>"); <br></span>
34.addcslashes():在指定的字元前新增反斜線轉義字串中字元
<span style="font-size: 14px;"> $str = "Hello, my name is John Adams."; echo $str; echo addcslashes($str,'m');<br></span>
輸入:
目標字串|指定的特定字元或字元範圍
35.stripcslashes(): 刪除由addcslashes()新增的反斜線
<span style="font-size: 14px;"> echo stripcslashes("Hello, \my na\me is Kai Ji\m."); // 目標字串 Hello, my name is Kai Jim.<br></span>
36.addslashes(): 指定預定義字元前新增反斜線
<span style="font-size: 14px;"> $str = "Who's John Adams?";echo addslashes($str);<br></span>
輸出: 把目標串中的’ ” 和null進行轉義處理
37.stripslashes(): 刪除由addslashes()新增的轉義字元
<span style="font-size: 14px;"> echo stripslashes("Who\'s John Adams?"); // 清除轉義符號Who's John Adams?<br></span>
38.quotemeta(): 在字串中某些預定義的字元前新增反斜線
<span style="font-size: 14px;"> $str = "Hello world. (can you hear me?)";echo quotemeta($str); // Hello world\. \(can you hear me\?\)<br></span>
39.chr(): 從指定的 ASCII 值返回字元
<span style="font-size: 14px;"> echo chr(052); // ASCII 值返回對應的字元<br></span>
40.ord(): 返回字串第一個字元的ASCII值
<span style="font-size: 14px;"> echo ord("hello"); 字串第一個字元的 ASCII 值<br></span>
字串比較:
41.strcasecmp(): 不區分大小寫比較兩字串
<span style="font-size: 14px;"> echo strcasecmp("Hello world!","HELLO WORLD!");<br></span>
輸入:
兩個目標字串
輸出:
大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編碼
<span style="font-size: 14px;">$str = "Hello";<br></span>
echo md5($str);
陣列函式
陣列建立:
72.array(): 生成一個數組
<span style="font-size: 14px;"> $a=array("Dog","Cat","Horse");<br> print_r($a);<br></span>
陣列值或,鍵=>值一個數組型變數
73.array_combine(): 生成一個數組,用一個數組的值
作為鍵名,另一個數組值作為值
<span style="font-size: 14px;"> $a1=array("a","b","c","d"); $a2=array("Cat","Dog","Horse","Cow");<br> print_r(array_combine($a1,$a2));<br></span>
輸入引數: $a1為提供鍵,$a2提供值
輸出: 合成後的陣列
74.range(): 建立並返回一個包含指定範圍的元素的陣列。
<span style="font-size: 14px;"> $number = range(0,50,10);<br> print_r ($number);<br></span>
輸入: 0是最小值,50是最大值,10是步長
輸出: 合成後的陣列
75.compact(): 建立一個由引數所帶變數組成的陣列
<span style="font-size: 14px;"> $firstname = "Peter"; $lastname = "Griffin"; $age = "38"; $result = compact("firstname", "lastname", "age");<br> print_r($result);<br></span>
變數或陣列
返回由變數名為鍵,變數值為值的陣列,變數也可以為多維陣列.會遞迴處理
76.array_fill(): 用給定的填充(值生成)陣列
<span style="font-size: 14px;"> $a=array_fill(2,3,"Dog");<br> print_r($a);<br></span>
2是鍵,3是填充的數量,’Dog’為填充內容返回完成的陣列
數組合並和拆分:
77.array_chunk(): 把一個數組分割為新的陣列塊
<span style="font-size: 14px;"> $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");<br>print_r(array_chunk($a,2));<br></span>
一個數組分割後的多維陣列,規定每個新陣列包含2個元素
78.array_merge(): 把兩個或多個數組合併為一個數組。
<span style="font-size: 14px;"> $a1=array("a"=>"Horse","b"=>"Dog"); $a2=array("c"=>"Cow","b"=>"Cat");<br> print_r(array_merge($a1,$a2));<br></span>
輸入: 兩個陣列
輸出: 返回完成後的陣列
79.array_slice(): 在陣列中根據條件取出一段值,並返回。
<span style="font-size: 14px;"> $a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");<br>print_r(array_slice($a,1,2));<br></span>
輸入: 一個數組
輸出: 1為從’Cat’開始,2為返回兩個元素
陣列比較:
80.array_diff(): 返回兩個陣列的差集陣列
<span style="font-size: 14px;"> $a1=array(0=>"Cat",1=>"Dog",2=>"Horse");$a2=array(3=>"Horse",4=>"Dog",5=>"Fish");<br> print_r(array_diff($a1,$a2)); //返回'Cat'<br></span>
輸入: 兩個或多個數組
輸出: $a1與$a2的不同之處
81.array_intersect(): 返回兩個或多個數組的交集陣列
輸出:
返回’Dog’和’Horse’, $a1與$a2的相同之處
陣列查詢替換:
82.array_search(): 在陣列中查詢一個值,返回一個鍵,沒有返回返回假
<span style="font-size: 14px;"> $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); echo array_search("Dog",$a);<br></span>
輸入: 一個數組
輸出: 成功返回鍵名,失敗返回false
83.array_splice(): 把陣列中一部分刪除用其他值替代
<span style="font-size: 14px;"> $a1=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); $a2=array(0=>"Tiger",1=>"Lion");<br> array_splice($a1,0,2,$a2);<br> print_r($a1);<br></span>
輸入: 一個或多個數組
輸出: $a1被移除的部分由$a2補全
84.array_sum(): 返回陣列中所有值的總和
<span style="font-size: 14px;"> $a=array(0=>"5",1=>"15",2=>"25"); echo array_sum($a);<br></span>
輸入: 一個數組
輸出: 返回和
85.in_array(): 在陣列中搜索給定的值,區分大小寫
<span style="font-size: 14px;"> $people = array("Peter", "Joe", "Glenn", "Cleveland"); if (in_array("Glenn",$people) { echo "Match found";<br> } else{ echo "Match not found";<br> }<br></span>
輸入: 需要搜尋的值|陣列
輸出: true/false
86.array_key_exists(): 判斷某個陣列中是否存在指定的 key
輸入: 需要搜尋的鍵名|陣列
陣列引用操作:
87.key(): 返回陣列內部指標當前指向元素的鍵名
88.current(): 返回陣列中的當前元素(單元).
89.next(): 把指向當前元素的指標移動到下一個元素的位置,並返回當前元素的值
90.prev(): 把指向當前元素的指標移動到上一個元素的位置,並返回當前元素的值
91.end(): 將陣列內部指標指向最後一個元素,並返回該元素的值(如果成功)
92.reset(): 把陣列的內部指標指向第一個元素,並返回這個元素的值
93.list(): 用陣列中的元素為一組變數賦值
<span style="font-size: 14px;"> $my_array=array("Dog","Cat","Horse"); list($a, $b, $c) = $my_array;<br></span>
輸入: $a, $b, $c為需要賦值的變數
輸出: 變數分別匹配陣列中的值
94.array_shift(): 刪除陣列中的第一個元素,並返回被刪除元素的值
<span style="font-size: 14px;"> $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); echo array_shift($a);<br> print_r ($a);<br></span>
95.array_unshift(): 在陣列開頭插入一個或多個元素
<span style="font-size: 14px;"> $a=array("a"=>"Cat","b"=>"Dog");<br> array_unshift($a,"Horse");<br> print_r($a);<br></span>
96.array_push(): 向陣列最後壓入一個或多個元素
<span style="font-size: 14px;">$a=array("Dog","Cat");<br>array_push($a,"Horse","Bird");<br>print_r($a);<br></span>
輸入: 目標陣列|需要壓入的值
返回值: 返回新的陣列
97.array_pop(): 取得(刪除)陣列中的最後一個元素
<span style="font-size: 14px;"> $a=array("Dog","Cat","Horse");<br> array_pop($a);<br> print_r($a);<br></span>
輸入: $a為目標陣列
輸出: 返回陣列剩餘元素
陣列鍵值操作:
98.shuffle(): 將陣列打亂,保留鍵名
<span style="font-size: 14px;"> $my_array = array("a" => "Dog", "b" => "Cat");<br> shuffle($my_array);<br> print_r($my_array);<br></span>
輸入: 一個或多個數組
輸出: 順序打亂後的陣列
99.count(): 計算陣列中的單元數目或物件中的屬性個數
<span style="font-size: 14px;"> $people = array("Peter", "Joe", "Glenn", "Cleveland"); $result = count($people); echo $result;<br></span>
輸入: 陣列
輸出: 輸出元素個數
100.array_flip(): 返回一個鍵值反轉後的陣列
<span style="font-size: 14px;"> $a=array(0=>"Dog",1=>"Cat",2=>"Horse");<br>print_r(array_flip($a));<br></span>
輸出: 返回完成後的陣列
101.array_keys(): 返回陣列所有的鍵,組成一個數組
<span style="font-size: 14px;"> $a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");<br> print_r(array_keys($a));<br></span>
輸出: 返回由鍵名組成的陣列
102.array_values(): 返回陣列中所有值,組成一個數組
輸出: 返回由鍵值組成的陣列
103.array_reverse(): 返回一個元素順序相反的陣列
元素順序相反的一個數組,鍵名和鍵值依然匹配
104.array_count_values(): 統計陣列中所有的值出現的次數
<span style="font-size: 14px;"> $a=array("Cat","Dog","Horse","Dog");<br> print_r(array_count_values($a));<br></span>
輸出: 返回陣列原鍵值為新鍵名,次數為新鍵值
105.array_rand(): 從陣列中隨機抽取一個或多個元素,注意是鍵名!!!
<span style="font-size: 14px;"> $a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");<br> print_r(array_rand($a,1));<br></span>
$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(): 刪除重複值,返回剩餘陣列
<span style="font-size: 14px;"> $a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat");<br> print_r(array_unique($a));<br></span>
輸入: 陣列
輸入: 返回無重複值陣列,鍵名不變
陣列排序:
108.sort(): 按升序對給定陣列的值排序,不保留鍵名
<span style="font-size: 14px;"> $my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse");<br> sort($my_array);<br> print_r($my_array);<br></span>
輸出: true/false
109.rsort(): 對陣列逆向排序,不保留鍵名
110.asort(): 對陣列排序,保持索引關係
111.arsort(): 對陣列逆向排序,保持索引關
112.ksort(): 系按鍵名對陣列排序
113.krsort(): 將陣列按照鍵逆向排序
114.natsort(): 用自然順序演算法對陣列中的元素排序
115.natcasesort(): 自然排序,不區分大小寫
檔案系統函式
116.fopen(): 開啟檔案或者 URL
<span style="font-size: 14px;"> $handle = fopen("ftp://user:[email protected]/somefile.txt", "w");<br></span>
呼叫: resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )
返回值: 如果開啟失敗,本函式返回 FALSE
117.fclose(): 關閉一個已開啟的檔案指標
<span style="font-size: 14px;"> $handle = fopen('somefile.txt', 'r');<br> fclose($handle);<br> bool fclose(resource handle)<br></span>
輸出: 如果成功則返回 TRUE,失敗則返回 FALSE
檔案屬性
118.file_exists(): 檢查檔案或目錄是否存在
<span style="font-size: 14px;"> $filename = '/path/to/foo.txt'; if (file_exists($filename)) { echo "exists";<br> } else { echo "does not exist";<br> }<br></span>
呼叫: bool file_exists ( string filename )
輸入: 指定的檔案或目錄
輸出: 存在則返回 TRUE,否則返回 FALSE
119.filesize(): 取得檔案大小
<span style="font-size: 14px;"> $filename = 'somefile.txt';echo $filename . ': ' . filesize($filename) .'bytes';<br></span>
呼叫: int filesize ( string $filename )
輸出: 返回檔案大小的位元組數,如果出錯返回 FALSE 並生成一條 E_WARNING 級的錯誤
120.is_readable(): 判斷給定檔案是否可讀
<span style="font-size: 14px;"> $filename = 'test.txt'; if (is_readable($filename)) { echo '可讀';<br> } else { echo '不可讀';<br> }<br></span>
呼叫: bool is_readable ( string $filename )
輸出: 如果由 filename指定的檔案或目錄存在並且可讀則返回 TRUE
121.is_writable(): 判斷給定檔案是否可寫
<span style="font-size: 14px;"> $filename = 'test.txt'; if (is_writable($filename)) { echo '可寫';<br> } else { echo '不可寫';<br> }<br></span>
呼叫: bool is_writable ( string $filename )
filename 引數 可以是一個允許進行是否可寫檢查的目錄名
輸出:
如果檔案存在並且可寫則返回 TRUE。
122.is_executable(): 判斷給定檔案是否可執行
<span style="font-size: 14px;"> $file = 'setup.exe'; if (is_executable($file)) { echo '可執行';<br> } else { echo '不可執行';<br> }<br></span>
呼叫: bool is_executable ( string $filename )
輸出: 如果檔案存在且可執行則返回 TRUE
123.filectime(): 獲取檔案的建立時間
<span style="font-size: 14px;"> $filename = 'somefile.txt';echo filectime($filename);<br></span>
呼叫: int filectime ( string $filename )
輸出: 時間以 Unix 時間戳的方式返回,如果出錯則返回FALSE
124.filemtime(): 獲取檔案的修改時間
<span style="font-size: 14px;"> $filename = 'somefile.txt';echo filemtime($filename);<br> int filemtime ( string $filename )<br></span>
輸出: 返回檔案上次被修改的時間,出錯時返回 FALSE。時間以 Unix時間戳的方式返回
125.fileatime(): 獲取檔案的上次訪問時間
<span style="font-size: 14px;"> $filename = 'somefile.txt';echo fileatime($filename);<br></span>
呼叫: int fileatime (string $filename)
輸出: 返回檔案上次被訪問的時間, 如果出錯則返回FALSE. 時間以Unix時間戳的方式返回.
126.stat(): 獲取檔案大部分屬性值
<span style="font-size: 14px;"> $filename = 'somefile.txt';<br>var_dump(fileatime($filename));<br></span>
呼叫: array stat (string $filename
輸出: 返回由 filename 指定的檔案的統計資訊
檔案操作
127.fwrite(): 寫入檔案
<span style="font-size: 14px;"> $filename = 'test.txt'; $somecontent = "新增這些文字到檔案\n"; $handle = fopen($filename, 'a');<br> fwrite($handle, $somecontent);<br> fclose($handle);<br></span>
呼叫: int fwrite ( resource handle, string string [, int length] )
輸出:
把 string 的內容寫入 檔案指標 handle 處。如果指定了 length,當寫入了length個位元組或者寫完了string以後,寫入就會停止, 視乎先碰到哪種情況
128.fputs(): 同上
129.fread(): 讀取檔案
<span style="font-size: 14px;"> $filename = "/usr/local/something.txt";$handle = fopen($filename, "r");$contents = fread($handle, filesize($filename));<br> fclose($handle);<br></span>
呼叫: string fread ( int handle, int length )
從檔案指標handle,讀取最多 length 個位元組
130.feof(): 檢測檔案指標是否到了檔案結束的位置
<span style="font-size: 14px;"> $file = @fopen("no_such_file", "r"); while (!feof($file)) {<br> }<br> fclose($file);<br></span>
呼叫: bool feof ( resource handle )
輸出: 如果檔案指標到了 EOF 或者出錯時則返回TRUE,否則返回一個錯誤(包括 socket 超時),其它情況則返回 FALSE
131.fgets(): 從檔案指標中讀取一行
<span style="font-size: 14px;"> $handle = @fopen("/tmp/inputfile.txt", "r"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle, 4096); echo $buffer;<br> }<br> fclose($handle);<br> }<br></span>
呼叫: string fgets ( int handle [, int length] )
輸出: 從handle指向的檔案中讀取一行並返回長度最多為length-1位元組的字串.碰到換行符(包括在返回值中)、EOF 或者已經讀取了length -1位元組後停止(看先碰到那一種情況). 如果沒有指定 length,則預設為1K, 或者說 1024 位元組.
132.fgetc(): 從檔案指標中讀取字元
<span style="font-size: 14px;"> $fp = fopen('somefile.txt', 'r'); if (!$fp) { echo 'Could not open file somefile.txt';<br> } while (false !== ($char = fgetc($fp))) { echo "$char\n";<br> }<br></span>
輸入: string fgetc ( resource $handle )
輸出: 返回一個包含有一個字元的字串,該字元從 handle指向的檔案中得到. 碰到 EOF 則返回 FALSE.
133.file(): 把整個檔案讀入一個數組中
<span style="font-size: 14px;"> $lines = file('http://www.example.com/');<br></span>
// 在陣列中迴圈,顯示 HTML 的原始檔並加上行號。
<span style="font-size: 14px;"> foreach ($lines as $line_num => $line) { echo "Line #<b>{$line_num}</b> : " .<br> htmlspecialchars($line) . "<br />\n";<br> }<br></span>
// 另一個例子將 web 頁面讀入字串。參見 file_get_contents()。
<span style="font-size: 14px;"> $html = implode('', file('http://www.example.com/'));<br></span>
呼叫: 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(): 將整個檔案讀入一個字串
<span style="font-size: 14px;"> echo file_get_contents('http://www.baidu.com');<br></span>
呼叫:
string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] )
136.file_put_contents():將一個字串寫入檔案
<span style="font-size: 14px;"> file_put_contents('1.txt','aa');<br></span>
呼叫: int file_put_contents ( string $filename , string $data [, int $flags [, resource $context ]] )
輸出: 該函式將返回寫入到檔案內資料的位元組數
137.ftell(): 返回檔案指標讀/寫的位置
<span style="font-size: 14px;"> $fp=fopen('tx.txt','r');<br> fseek($fp,10); echo ftell($fp);<br> fread($fp,4); echo ftell($fp);<br></span>
呼叫: int ftell ( resource $handle )
輸出: 返回由 handle 指定的檔案指標的位置,也就是檔案流中的偏移量
138.fseek(): 在檔案指標中定位
<span style="font-size: 14px;"> $fp=fopen('tx.txt','r');<br> fseek($fp,10); echo ftell($fp);<br> fread($fp,4); echo ftell($fp);<br></span>
呼叫: int fseek ( resource $handle , int $offset [, int $whence ] )
輸出: 成功則返回 0;否則返回 -1
139.rewind(): 倒回檔案指標的位置
<span style="font-size: 14px;"> $fp=fopen('tx.txt','r');<br> fseek($fp,3); echo ftell($fp);<br> fread($fp,4);<br> rewind($fp); echo ftell($fp);<br></span>
呼叫: bool rewind ( resource $handle )
返回值: 如果成功則返回 TRUE,失敗則返回 FALSE
140.flock(): 輕便的執行檔案鎖定
<span style="font-size: 14px;"> $fp=fopen('tx.txt','r');<br> flock($fp, LOCK_SH);//共享鎖<br> //flock($fp, LOCK_EX);//獨立鎖,寫檔案時用它開啟<br> //flock($fp, LOCK_NB);//附加鎖<br> flock($fp, LOCK_UN);//釋放鎖<br> fclose($fp);<br></span>
呼叫: bool flock ( int $handle , int $operation [, int &$wouldblock ] )
輸出: 如果成功則返回 TRUE,失敗則返回 FALSE
目錄函式
141.basename(): 返回路徑中的檔名部分
<span style="font-size: 14px;"> path = "/home/httpd/html/index.php"; $file = basename($path); $file = basename($path,".php");<br></span>
呼叫: string basename ( string $path [, string $suffix ])
輸出: 給出一個包含有指向一個檔案的全路徑的字串,本函式返回基本的檔名。如果檔名是以 suffix 結
束的,那這一部分也會被去掉
142.dirname(): 返回路徑中的目錄部分
<span style="font-size: 14px;"> $path = "/etc/passwd"; $file = dirname($path);<br></span>
呼叫: string dirname ( string $path )
輸出: 給出一個包含有指向一個檔案的全路徑的字串,本函式返回去掉檔名後的目錄名
143.pathinfo(): 返回檔案路徑的資訊
<span style="font-size: 14px;"> echo '<pre>';<br> print_r(pathinfo("/www/htdocs/index.html")); echo '</pre>';<br></span>
呼叫: mixed pathinfo ( string $path [, int $options ] )
返回一個關聯陣列包含有 path 的資訊
144.opendir(): 開啟目錄控制代碼
<span style="font-size: 14px;">$fp=opendir('E:/xampp/htdocs/php/study/19');echo readdir($fp);<br>closedir($fp);<br></span>
呼叫: resource opendir ( string $path [, resource $context ] )
返回值: 如果成功則返回目錄控制代碼的 resource,失敗則返回FALSE
145.readdir(): 從目錄控制代碼中讀取條目
<span style="font-size: 14px;">$fp=opendir('E:/xampp/htdocs/php/study/19');echo readdir($fp);<br>closedir($fp);<br></span>
呼叫: string readdir ( resource $dir_handle )
返回值: 返回目錄中下一個檔案的檔名。檔名以在檔案系統中的排序返回
146.closedir(): 關閉目錄控制代碼
<span style="font-size: 14px;"> $fp=opendir('E:/xampp/htdocs/php/study/19'); echo readdir($fp);
closedir($fp);
</span>
呼叫: void closedir ( resource $dir_handle )
關閉由 dir_handle 指定的目錄流。流必須之前被opendir() 所開啟
147.rewinddir() : 倒回目錄控制代碼
<span style="font-size: 14px;"> $fp=opendir('E:/xampp/htdocs/php/study/19'); echo readdir($fp).'<br />'; echo readdir($fp).'<br />'; echo readdir($fp).'<br />';<br> rewinddir($fp); echo readdir($fp).'<br />';<br> closedir($fp);<br></span>
呼叫: void rewinddir ( resource $dir_handle )
輸出: 將 dir_handle 指定的目錄流重置到目錄的開頭
148.mkdir(): 新建目錄
<span style="font-size: 14px;"> mkdir('123');<br></span>
呼叫: bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] )
輸出: 嘗試新建一個由 pathname 指定的目錄
149.rmdir(): 刪除目錄
<span style="font-size: 14px;"> rmdir('123');<br></span>
呼叫: bool rmdir ( string $dirname )
輸出: 嘗試刪除 dirname 所指定的目錄。目錄必須是空的,而且要有相應的許可權。如果成功則返回TRUE,失敗則返回 FALSE
150.unlink(): 刪除檔案
<span style="font-size: 14px;"> unlink('123/1.txt');<br> rmdir('123');<br></span>
呼叫: bool unlink ( string $filename )
輸出: 刪除 filename 。和 Unix C 的 unlink() 函式相似。如果成功則返回 TRUE,失敗則返回 FALSE
151.copy(): 拷貝檔案
<span style="font-size: 14px;"> copy('index.php','index.php.bak');<br></span>
呼叫: bool copy ( string $source , string $dest )
輸出: 將檔案從 source 拷貝到 dest. 如果成功則返回TRUE,失敗則返回 FALSE
152.rename(): 重新命名一個檔案或目錄
<span style="font-size: 14px;"> rename('tx.txt','txt.txt');<br></span>
呼叫: bool rename ( string $oldname , string $newname [, resource $context ] )
輸出: 如果成功則返回 TRUE,失敗則返回 FALSE
檔案的上傳與下載
153.is_uploaded_file():判斷檔案是否是通過 HTTP POST上傳的
<span style="font-size: 14px;"> if(is_uploaded_file($_FILES['bus']['tmp_name'])){ if( move_uploaded_file($_FILES['bus']['tmp_name'], $NewPath) ){ echo '上傳成功<br /><img src="'.$NewPath.'">';<br> }else{ exit('失敗');<br> }<br> }else{ exit('不是上傳檔案');<br> }<br></span>
呼叫: bool is_uploaded_file ( string $filename )
154.move_uploaded_file(): 將上傳的檔案移動到新位置
<span style="font-size: 14px;"> if(is_uploaded_file($_FILES['bus']['tmp_name'])){ if( move_uploaded_file($_FILES['bus']['tmp_name'], $NewPath) ){ echo '上傳成功<br /><img src="'.$NewPath.'">';<br> }else{ exit('失敗');<br> }<br> }else{ exit('不是上傳檔案');<br> }<br></span>
呼叫: bool move_uploaded_file ( string $filename , string
時間函式
155.time(): 返回當前的 Unix 時間戳time();
呼叫: int time ( void )
輸出: 返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數
156.mktime(): 取得一個日期的 Unix 時間戳
<span style="font-size: 14px;"> mktime(0, 0, 0, 4, 25, 2012);<br></span>
呼叫: int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] )
156.date(): 格式化一個本地時間/日期
<span style="font-size: 14px;">date('Y年m月d日 H:i:s');<br></span>
呼叫: string date ( string $format [, int $timestamp ] )
輸出: 2016年09月10日 20:45:54
157.checkdate(): 驗證一個格里高裡日期
呼叫: bool checkdate ( int $month , int $day , int $year)
輸出: 如果給出的日期有效則返回 TRUE,否則返回 FALSE
<span style="font-size: 14px;"> if(checkdate(6,31,2012)){ echo '成立';<br> }else{ echo '不成立';<br> }<br></span>
158.date_default_timezone_set(): 設定用於一個指令碼中所有日期時間函式的預設時區
<span style="font-size: 14px;"> date_default_timezone_set('PRC');<br></span>
呼叫: bool date_default_timezone_set ( string $timezone_identifier)
返回值: 如果 timezone_identifier 引數無效則返回 FALSE,否則返回 TRUE。
159.getdate(): 取得日期/時間資訊
呼叫: array getdate ([ int $timestamp ] )
輸出: 返回一個根據timestamp得出的包含有日期資訊的關聯陣列。如果沒有給出時間戳則認為是當前本地時間
<span style="font-size: 14px;"> $t=getdate();<br> var_dump($t);<br></span>
160.strtotime(): 將任何英文文字的日期時間描述解析為 Unix 時間戳
<span style="font-size: 14px;"> echo strtotime("now");<br> 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");<br></span>
161.microtime(): 返回當前 Unix 時間戳和微秒數
呼叫: mixed microtime ([ bool $get_as_float ] )
<span style="font-size: 14px;"> $start=microtime(true);<br> sleep(3); $stop=microtime(true); echo $stop-$start;<br></span>
其他常用:
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
<span style="font-size: 14px;"><?php$str = "Hello";$number = 123;$txt = sprintf("%s world. Day number %u",$str,$number);echo $txt;?><br></span>
輸出:
Hello world. Day number 123
164.PDO類的相關函式
prepare()
execute()
fetch()
<span style="font-size: 14px;"><?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>";<br>}catch(PDOException $e){ echo "<h1>" . $e->getMessage() . "</h1>";<br>}$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)<br> { echo sprintf("<td>%s</td>", $value);<br> } echo "</tr>";<br>}echo "</table>";?><br></span>
165.isset(): 檢測變數是否設定。
原型格式: bool isset ( mixed var [, mixed var [, ...]] )
返回值:
若變數不存在則返回 FALSE
若變數存在且其值為NULL,也返回 FALSE
若變數存在且值不為NULL,則返回 TURE
同時檢查多個變數時,每個單項都符合上一條要求時才返回 TRUE,否則結果為 FALSE
如果已經使用 unset() 釋放了一個變數之後,它將不再是 isset()。若使用 isset() 測試一個被設定成 NULL 的變數,將返回 FALSE。同時要注意的是一個 NULL 位元組(”“)並不等同於 PHP 的 NULL 常數。
<span style="font-size: 14px;">$userInfo=’abc’;if(isset($userInfo['account'])) {$account=$userInfo['account'];
} else {$account=$userInfo;
}
</span>
166.unset(): 銷燬指定的變數。
函式原型: unset(var1,var2,...)
引數 描述
var1 要銷燬的變數1
var2 要銷燬的變數2
<span style="font-size: 14px;"><?php<br> $foo = 'php unset()'; unset ($foo); echo $foo;?><br></span>
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: 如果指定,這個變數將被填充為替換執行的次數。
<span style="font-size: 14px;"><?php/* 一個unix樣式的命令列過濾器,用於將段落開始部分的大寫字母轉換為小寫。 */$fp = fopen("php://stdin", "r") or die("can't read stdin");while (!feof($fp)) { $line = fgets($fp); $line = preg_replace_callback( '|<p>\s*\w|', function ($matches) {<br> return strtolower($matches[0]);<br> }, $line<br> ); echo $line;<br>}<br>fclose($fp);?><br></span>
返回值:
如果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)
<span style="font-size: 14px;"><?php$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);echo json_encode($arr);?>
</span>
以上例程會輸出:
1
<span style="font-size: 14px;">{"a":1,"b":2,"c":3,"d":4,"e":5}<br></span>
169.iconv(): 用於按規定的字元編碼轉換字串。mb_convert_encoding() 函式也可以轉換編碼。
如果發現中文輸出亂碼的時候,很可能就需要使用此函式做處理。
函式原型: iconv(in_charset ,out_charset ,str )
引數 描述
in_charset 輸入的字符集。
out_charset 輸出的字符集。如果你在 out_charset 後添加了字串 //TRANSLIT,將啟用轉寫(transliteration)功能。這個意思是,當一個字元不能被目標字符集所表示時,它可以通過一個或多個形似的字元來近似表達。 如果你添加了字串 //IGNORE,不能以目標字符集表達的字元將被默默丟棄。 否則,str 從第一個無效字元開始截斷並導致一個 E_NOTICE。
str 要轉換的字串。
<span style="font-size: 14px;"><?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;?><br></span>
輸出:
<span style="font-size: 14px;">Original : This is the Euro symbol '€
來源:https://segmentfault.com/a/1190000017860368