PHP常用函數(shù)總結(jié)(180多個(gè))
PHP常用函數(shù)總結(jié)
數(shù)學(xué)函數(shù)
1.abs(): 求絕對值
$abs = abs(-4.2); //4.2 數(shù)字絕對值數(shù)字
2.ceil(): 進(jìn)一法取整
echo ceil(9.999); // 10 浮點(diǎn)數(shù)進(jìn)一取整
3.floor(): 舍去法取整
echo floor(9.999); // 9 浮點(diǎn)數(shù)直接舍去小數(shù)部分
4.fmod(): 浮點(diǎn)數(shù)取余
$x = 5.7; $y = 1.3; // 兩個(gè)浮點(diǎn)數(shù),x>y 浮點(diǎn)余數(shù) $r = fmod($x, $y); // $r equals 0.5, because 4 * 1.3 + 0.5 = 5.7
5.pow(): 返回?cái)?shù)的n次方
echo pow(-1, 20); // 1 基礎(chǔ)數(shù)|n次方乘方值
6.round(): 浮點(diǎn)數(shù)四舍五入
echo round(1.95583, 2); // 1.96, 一個(gè)數(shù)值|保留小數(shù)點(diǎn)后多少位,默認(rèn)為0 舍入后的結(jié)果
7.sqrt(): 求平方根
echo sqrt(9); //3 被開方的數(shù)平方根
8.max(): 求最大值
echo max(1, 3, 5, 6, 7); // 7
多個(gè)數(shù)字或數(shù)組 返回其中的最大值
echo max(array(2, 4, 5)); // 5
9.min(): 求最小值
輸入: 多個(gè)數(shù)字或數(shù)組
輸出: 返回其中的最小值
10.mt_rand(): 更好的隨機(jī)數(shù)
輸入: 最小|最大, 輸出: 隨機(jī)數(shù)隨機(jī)返回范圍內(nèi)的值
echo mt_rand(0,9);//n
11.rand(): 隨機(jī)數(shù) 輸入: 最小|最大, 輸出: 隨機(jī)數(shù)隨機(jī)返回范圍內(nèi)的值
12.pi(): 獲取圓周率值
去空格或或其他字符:
13.trim(): 刪除字符串兩端的空格或其他預(yù)定義字符
$str = "\r\nHello World!\r\n"; echo trim($str);
輸入: 目標(biāo)字符串 返回值: 清除后的字符串
14.rtrim(): 刪除字符串右邊的空格或其他預(yù)定義字符
$str = "Hello World!\n\n"; echo rtrim($str);
15.chop(): rtrim()的別名
16.ltrim(): 刪除字符串左邊的空格或其他預(yù)定義字符
$str = "\r\nHello World!"; echo ltrim($str);
17.dirname(): 返回路徑中的目錄部分
echo dirname("c:/testweb/home.php"); //c:/testweb
輸入: 一個(gè)包含路徑的字符串 返回值: 返回文件路徑的目錄部分
字符串生成與轉(zhuǎn)化:
18.str_pad(): 把字符串填充為指定的長度
$str = "Hello World"; echo str_pad($str,20,".");
輸入: 要填充的字符串|新字符串的長度|供填充使用的字符串, 默認(rèn)是空白
輸出: 完成后的字符串
19.str_repeat(): 重復(fù)使用指定字符串
echo str_repeat(".",13); // 要重復(fù)的字符串|字符串將被重復(fù)的次數(shù)13個(gè)點(diǎn)
20.str_split(): 把字符串分割到數(shù)組中
print_r(str_split("Hello"));
輸入: 要分割的字符串|每個(gè)數(shù)組元素的長度,默認(rèn)1
輸出: 拆分后的字符串?dāng)?shù)組
21.strrev(): 反轉(zhuǎn)字符串
echo strrev("Hello World!"); // !dlroW olleH
輸出: 目標(biāo)字符串顛倒順序后的字符串
22.wordwrap(): 按照指定長度對字符串進(jìn)行折行處理
$str = "An example on a long word is: Supercalifragulistic"; echo wordwrap($str,15);
輸入: 目標(biāo)字符串|最大寬數(shù)
輸出: 折行后的新字符串
23.str_shuffle(): 隨機(jī)地打亂字符串中所有字符
echo str_shuffle("Hello World");
輸入: 目標(biāo)字符串順序 輸出: 打亂后的字符串
24.parse_str(): 將字符串解析成變量
parse_str("id=23&name=John%20Adams", $myArray); print_r($myArray);
輸入: 要解析的字符串|存儲變量的數(shù)組名稱
輸出: 返回Array( [id] => 23 [name] => John Adams)
25.number_format(): 通過千位分組來格式化數(shù)字 輸入: 要格式化的數(shù)字|規(guī)定多少個(gè)小數(shù)|規(guī)定用作小數(shù)點(diǎn)的字符 串|規(guī)定用作千位分隔符的字符串
輸出: 1,000,000 1,000,000.00 1.000.000,00
大小寫轉(zhuǎn)換:
26.strtolower(): 字符串轉(zhuǎn)為小寫
echo strtolower("Hello WORLD!");
目標(biāo)字符串 小寫字符串
27.strtoupper(): 字符串轉(zhuǎn)為大寫
echo strtoupper("Hello WORLD!");
輸出: 大寫字符串
28.ucfirst(): 字符串首字母大寫
echo ucfirst("hello world"); // Hello world
29.ucwords(): 字符串每個(gè)單詞首字符轉(zhuǎn)為大寫
echo ucwords("hello world"); // Hello World
html標(biāo)簽關(guān)聯(lián):
30.htmlentities(): 把字符轉(zhuǎn)為HTML實(shí)體
$str = "John & 'Adams'"; echo htmlentities($str, ENT_COMPAT); // John & 'Adams'
31.htmlspecialchars(): 預(yù)定義字符轉(zhuǎn)html編碼
32.nl2br(): \n轉(zhuǎn)義為<br>標(biāo)簽
echo nl2br("One line.\nAnother line.");
輸出: 處理后的字符串
33.strip_tags(): 剝?nèi)?HTML、XML 以及 PHP 的標(biāo)簽
echo strip_tags("Hello <b>world!</b>");
34.addcslashes():在指定的字符前添加反斜線轉(zhuǎn)義字符串中字符
$str = "Hello, my name is John Adams."; echo $str; echo addcslashes($str,'m');
輸入: 目標(biāo)字符串|指定的特定字符或字符范圍
35.stripcslashes(): 刪除由addcslashes()添加的反斜線
echo stripcslashes("Hello, \my na\me is Kai Ji\m.");
// 目標(biāo)字符串 Hello, my name is Kai Jim.
36.addslashes(): 指定預(yù)定義字符前添加反斜線
$str = "Who's John Adams?";
echo addslashes($str);
輸出: 把目標(biāo)串中的' " \和null進(jìn)行轉(zhuǎn)義處理
37.stripslashes(): 刪除由addslashes()添加的轉(zhuǎn)義字符
echo stripslashes("Who\'s John Adams?"); // 清除轉(zhuǎn)義符號Who's John Adams?
38.quotemeta(): 在字符串中某些預(yù)定義的字符前添加反斜線
$str = "Hello world. (can you hear me?)"; echo quotemeta($str); // Hello world\. \(can you hear me\?\)
39.chr(): 從指定的 ASCII 值返回字符
echo chr(052); // ASCII 值返回對應(yīng)的字符
40.ord(): 返回字符串第一個(gè)字符的ASCII值
echo ord("hello"); 字符串第一個(gè)字符的 ASCII 值
字符串比較:
41.strcasecmp(): 不區(qū)分大小寫比較兩字符串
echo strcasecmp("Hello world!","HELLO WORLD!");
輸入: 兩個(gè)目標(biāo)字符串 輸出: 大1|等0|小 -1
42.strcmp(): 區(qū)分大小寫比較兩字符串
43.strncmp(): 比較字符串前n個(gè)字符,區(qū)分大小寫
調(diào)用: int strncmp ( string $str1 , string $str2 , int $len)
44.strncasecmp(): 比較字符串前n個(gè)字符,不區(qū)分大小寫
調(diào)用: int strncasecmp ( string $str1 , string $str2 , int $len )
45.strnatcmp(): 自然順序法比較字符串長度,區(qū)分大小寫
調(diào)用: int strnatcmp ( string $str1 , string $str2 )
輸入: 目標(biāo)字符串
46.strnatcasecmp(): 自然順序法比較字符串長度, 不區(qū)分大小寫
調(diào)用: int strnatcasecmp ( string $str1 , string $str2 )
字符串切割與拼接:
47.chunk_split():將字符串分成小塊
調(diào)用: str chunk_split(str $body[,int $len[,str $end]])
輸入: $body目標(biāo)字串, $len長度, $str插入結(jié)束符 輸出: 分割后的字符串
48.strtok(): 切開字符串
調(diào)用: str strtok(str $str,str $token)
目標(biāo)字符串$str,以$token為標(biāo)志切割返回切割后的字符串
49.explode(): 使用一個(gè)字符串為標(biāo)志分割另一個(gè)字符串
調(diào)用: array explode(str $sep,str $str[,int $limit])
輸入: $sep為分割符,$str目標(biāo)字符串,$limit返回?cái)?shù)組最多包含元素?cái)?shù) 輸出: 字符串被分割后形成的數(shù)組
50.implode(): 同join,將數(shù)組值用預(yù)訂字符連接成字符串
調(diào)用: string implode ( string $glue , array $pieces )
$glue默認(rèn), 用''則直接相連
51.substr(): 截取字符串
調(diào)用: string substr ( string $string , int $start [, int $length ] )
字符串查找替換:
52.str_replace(): 字符串替換操作,區(qū)分大小寫
調(diào)用mix str_replace(mix $search,mix $replace, mix $subject[,int &$num])
輸入: $search查找的字符串,$replace替換的字符串,$subject被查找字串, &$num 輸出: 返回替換后的結(jié)果
53.str_ireplace() 字符串替換操作,不區(qū)分大小寫
調(diào)用: mix str_ireplace ( mix $search , mix $replace , mix $subject [, int &$count ] )
輸入: $search查找的字符串,$replace替換的字符串,$subject被查找字串,&$num 輸出: 返回替換后的結(jié)果
54.substr_count(): 統(tǒng)計(jì)一個(gè)字符串,在另一個(gè)字符串中出現(xiàn)次數(shù)
調(diào)用: int substr_count ( string $haystack , string $needle[, int $offset = 0 [, int $length ]] )
55.substr_replace(): 替換字符串中某串為另一個(gè)字符串
調(diào)用: mixed substr_replace ( mixed $string, string $replacement,int $start [, int $length ] )
56.similar_text(): 返回兩字符串相同字符的數(shù)量
調(diào)用: int similar_text(str $str1,str $str2)
輸入: 兩個(gè)比較的字符串
輸出: 整形,相同字符數(shù)量
57.strrchr(): 返回一個(gè)字符串在另一個(gè)字符串中最后一次出現(xiàn)位置開始到末尾的字符串
調(diào)用: string strrchr ( string $haystack , mixed $needle )
58.strstr(): 返回一個(gè)字符串在另一個(gè)字符串中開始位置到結(jié)束的字符串
調(diào)用: string strstr ( string $str, string $needle , bool $before_needle )
59.strchr(): strstr()的別名,返回一個(gè)字符串在另一個(gè)字符串中首次出現(xiàn)的位置開始到末尾的字符串
調(diào)用: string strstr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
60.stristr(): 返回一個(gè)字符串在另一個(gè)字符串中開始位置到結(jié)束的字符串,不區(qū)分大小寫
調(diào)用:string stristr ( string $haystack , mixed $needle [, bool $before_needle = false ] )
61.strtr(): 轉(zhuǎn)換字符串中的某些字符
調(diào)用: string strtr ( string $str , string $from , string $to )
62.strpos(): 尋找字符串中某字符最先出現(xiàn)的位置
調(diào)用: int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )
63.stripos(): 尋找字符串中某字符最先出現(xiàn)的位置,不區(qū)分大小寫 調(diào)用: int stripos ( string $haystack , string $needle [, int $offset ] )
64.strrpos(): 尋找某字符串中某字符最后出現(xiàn)的位置
調(diào)用: int strrpos ( string $haystack , string $needle [, int $offset = 0 ] )
65.strripos(): 尋找某字符串中某字符最后出現(xiàn)的位置,不區(qū)分大小寫
調(diào)用: int strripos ( string $haystack , string $needle [, int $offset ] )
66.strspn(): 返回字符串中首次符合mask的子字符串長度 調(diào)用: int strspn ( string $str1 , string $str2 [, int $start [, int $length ]] )
67.strcspn(): 返回字符串中不符合mask的字符串的長度
調(diào)用: int strcspn ( string $str1 , string $str2 [, int $start [, int $length ]] )
輸入: $str1被查詢,$str2查詢字符串,$start開始查詢的字符,$length是查詢長度 輸出: 返回從開始到第幾個(gè)字符
字符串統(tǒng)計(jì):
68.str_word_count(): 統(tǒng)計(jì)字符串含有的單詞數(shù)
調(diào)用: mix str_word_count(str $str,[])
輸入: 目標(biāo)字符串 輸出: 統(tǒng)計(jì)處的數(shù)量
69.strlen(): 統(tǒng)計(jì)字符串長度int strlen(str $str)
輸入: 目標(biāo)字符串 輸出:整型長度
70.count_chars(): 統(tǒng)計(jì)字符串中所有字母出現(xiàn)次數(shù)(0..255) 調(diào)用: mixed count_chars ( string $string [, int $mode ] )
字符串編碼:
71.md5(): 字符串md5編碼
$str = "Hello"; echo md5($str);
數(shù)組函數(shù)
數(shù)組創(chuàng)建:
72.array(): 生成一個(gè)數(shù)組
$a=array("Dog","Cat","Horse"); print_r($a);
數(shù)組值或,鍵=>值一個(gè)數(shù)組型變量
73.array_combine(): 生成一個(gè)數(shù)組,用一個(gè)數(shù)組的值 作為鍵名,另一個(gè)數(shù)組值作為值
$a1=array("a","b","c","d");
$a2=array("Cat","Dog","Horse","Cow");
print_r(array_combine($a1,$a2));
$a1為提供鍵,$a2提供值合成后的數(shù)組
74.range(): 創(chuàng)建并返回一個(gè)包含指定范圍的元素的數(shù)組。
$number = range(0,50,10);
print_r ($number);
輸入: 0是最小值,50是最大值,10是步長 輸出: 合成后的數(shù)組
75.compact(): 創(chuàng)建一個(gè)由參數(shù)所帶變量組成的數(shù)組
$firstname = "Peter"; $lastname = "Griffin"; $age = "38"; $result = compact("firstname", "lastname", "age"); print_r($result);
變量或數(shù)組
返回由變量名為鍵,變量值為值的數(shù)組,變量也可以為多維數(shù)組.會遞歸處理 76.array_fill(): 用給定的填充(值生成)數(shù)組
$a=array_fill(2,3,"Dog"); print_r($a);
2是鍵,3是填充的數(shù)量,'Dog'為填充內(nèi)容返回完成的數(shù)組
數(shù)組合并和拆分:
77.array_chunk(): 把一個(gè)數(shù)組分割為新的數(shù)組塊
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow"); print_r(array_chunk($a,2));
一個(gè)數(shù)組分割后的多維數(shù)組,規(guī)定每個(gè)新數(shù)組包含2個(gè)元素
78.array_merge(): 把兩個(gè)或多個(gè)數(shù)組合并為一個(gè)數(shù)組。
$a1=array("a"=>"Horse","b"=>"Dog"); $a2=array("c"=>"Cow","b"=>"Cat"); print_r(array_merge($a1,$a2));
輸入: 兩個(gè)數(shù)組 輸出: 返回完成后的數(shù)組
79.array_slice(): 在數(shù)組中根據(jù)條件取出一段值,并返回。
$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird"); print_r(array_slice($a,1,2));
輸入: 一個(gè)數(shù)組 輸出: 1為從'Cat'開始,2為返回兩個(gè)元素
數(shù)組比較:
80.array_diff(): 返回兩個(gè)數(shù)組的差集數(shù)組
$a1=array(0=>"Cat",1=>"Dog",2=>"Horse"); $a2=array(3=>"Horse",4=>"Dog",5=>"Fish"); print_r(array_diff($a1,$a2)); //返回'Cat'
輸入: 兩個(gè)或多個(gè)數(shù)組 輸出: $a1與$a2的不同之處
81.array_intersect(): 返回兩個(gè)或多個(gè)數(shù)組的交集數(shù)組 輸出: 返回'Dog'和'Horse',$a1與$a2的相同之處
數(shù)組查找替換:
82.array_search(): 在數(shù)組中查找一個(gè)值,返回一個(gè)鍵,沒有返回返回假
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); echo array_search("Dog",$a);
輸入: 一個(gè)數(shù)組 輸出: 成功返回鍵名,失敗返回false
83.array_splice(): 把數(shù)組中一部分刪除用其他值替代
$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);
輸入: 一個(gè)或多個(gè)數(shù)組 輸出: $a1被移除的部分由$a2補(bǔ)全
84.array_sum(): 返回?cái)?shù)組中所有值的總和
$a=array(0=>"5",1=>"15",2=>"25"); echo array_sum($a);
輸入: 一個(gè)數(shù)組 輸出: 返回和
85.in_array(): 在數(shù)組中搜索給定的值,區(qū)分大小寫
$people = array("Peter", "Joe", "Glenn", "Cleveland"); if (in_array("Glenn",$people) { echo "Match found"; } else{ echo "Match not found"; }
輸入: 需要搜索的值|數(shù)組 輸出: true/false
86.array_key_exists(): 判斷某個(gè)數(shù)組中是否存在指定的 key
輸入: 需要搜索的鍵名|數(shù)組
數(shù)組指針操作:
87.key(): 返回?cái)?shù)組內(nèi)部指針當(dāng)前指向元素的鍵名
88.current(): 返回?cái)?shù)組中的當(dāng)前元素(單元).
89.next(): 把指向當(dāng)前元素的指針移動(dòng)到下一個(gè)元素的位置,并返回當(dāng)前元素的值
90.prev(): 把指向當(dāng)前元素的指針移動(dòng)到上一個(gè)元素的位置,并返回當(dāng)前元素的值
91.end(): 將數(shù)組內(nèi)部指針指向最后一個(gè)元素,并返回該元素的值(如果成功)
92.reset(): 把數(shù)組的內(nèi)部指針指向第一個(gè)元素,并返回這個(gè)元素的值
93.list(): 用數(shù)組中的元素為一組變量賦值
$my_array=array("Dog","Cat","Horse"); list($a, $b, $c) = $my_array;
輸入: $a, $b, $c為需要賦值的變量 輸出: 變量分別匹配數(shù)組中的值
94.array_shift(): 刪除數(shù)組中的第一個(gè)元素,并返回被刪除元素的值
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); echo array_shift($a); print_r ($a);
95.array_unshift(): 在數(shù)組開頭插入一個(gè)或多個(gè)元素
$a=array("a"=>"Cat","b"=>"Dog"); array_unshift($a,"Horse"); print_r($a);
96.array_push(): 向數(shù)組最后壓入一個(gè)或多個(gè)元素
$a=array("Dog","Cat"); array_push($a,"Horse","Bird"); print_r($a);
輸入: 目標(biāo)數(shù)組|需要壓入的值 返回值: 返回新的數(shù)組
97.array_pop(): 取得(刪除)數(shù)組中的最后一個(gè)元素
$a=array("Dog","Cat","Horse"); array_pop($a); print_r($a);
輸入: $a為目標(biāo)數(shù)組 輸出: 返回?cái)?shù)組剩余元素
數(shù)組鍵值操作:
98.shuffle(): 將數(shù)組打亂,保留鍵名
$my_array = array("a" => "Dog", "b" => "Cat"); shuffle($my_array); print_r($my_array);
輸入: 一個(gè)或多個(gè)數(shù)組 輸出: 順序打亂后的數(shù)組
99.count(): 計(jì)算數(shù)組中的單元數(shù)目或?qū)ο笾械膶傩詡€(gè)數(shù)
$people = array("Peter", "Joe", "Glenn", "Cleveland"); $result = count($people); echo $result;
輸入: 數(shù)組 輸出: 輸出元素個(gè)數(shù)
100.array_flip(): 返回一個(gè)鍵值反轉(zhuǎn)后的數(shù)組
$a=array(0=>"Dog",1=>"Cat",2=>"Horse"); print_r(array_flip($a));
輸出: 返回完成后的數(shù)組 101.array_keys(): 返回?cái)?shù)組所有的鍵,組成一個(gè)數(shù)組
$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog"); print_r(array_keys($a));
輸出: 返回由鍵名組成的數(shù)組
102.array_values(): 返回?cái)?shù)組中所有值,組成一個(gè)數(shù)組
輸出: 返回由鍵值組成的數(shù)組
103.array_reverse(): 返回一個(gè)元素順序相反的數(shù)組 元素順序相反的一個(gè)數(shù)組,鍵名和鍵值依然匹配
104.array_count_values(): 統(tǒng)計(jì)數(shù)組中所有的值出現(xiàn)的次數(shù)
$a=array("Cat","Dog","Horse","Dog"); print_r(array_count_values($a));
輸出: 返回?cái)?shù)組原鍵值為新鍵名,次數(shù)為新鍵值
105.array_rand(): 從數(shù)組中隨機(jī)抽取一個(gè)或多個(gè)元素,注意是鍵名!!!
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse"); print_r(array_rand($a,1));
$a為目標(biāo)數(shù)組, 1為抽取第幾個(gè)元素的鍵名返回第1個(gè)元素的鍵名b
106.each(): 返回?cái)?shù)組中當(dāng)前的鍵/值對并將數(shù)組指針向前移動(dòng)一步 調(diào)用array each ( array &$array )
在執(zhí)行 each() 之后,數(shù)組指針將停留在數(shù)組中的下一個(gè)單元或者當(dāng)碰到數(shù)組結(jié)尾時(shí)停留在最后一個(gè)單元。如果要再用 each 遍歷數(shù)組,必須使用 reset()。
返回值: 數(shù)組中當(dāng)前指針位置的鍵/值對并向前移動(dòng)數(shù)組指針。鍵值對被返回為四個(gè)單元的數(shù)組,鍵名為0,1,key和 value。單元 0 和 key 包含有數(shù)組單元的鍵名,1 和 value 包含有數(shù)據(jù)。 如果內(nèi)部指針越過了數(shù)組的末端,則 each() 返回 FALSE。
107.array_unique(): 刪除重復(fù)值,返回剩余數(shù)組
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Cat"); print_r(array_unique($a));
輸入: 數(shù)組 輸入: 返回?zé)o重復(fù)值數(shù)組,鍵名不變
數(shù)組排序:
108.sort(): 按升序?qū)o定數(shù)組的值排序,不保留鍵名
$my_array = array("a" => "Dog", "b" => "Cat", "c" => "Horse"); sort($my_array); print_r($my_array);
輸出: true/false 109.rsort(): 對數(shù)組逆向排序,不保留鍵名 110.asort(): 對數(shù)組排序,保持索引關(guān)系 111.arsort(): 對數(shù)組逆向排序,保持索引關(guān) 112.ksort(): 系按鍵名對數(shù)組排序 113.krsort(): 將數(shù)組按照鍵逆向排序 114.natsort(): 用自然順序算法對數(shù)組中的元素排序 115.natcasesort(): 自然排序,不區(qū)分大小寫
文件系統(tǒng)函數(shù)
116.fopen(): 打開文件或者 URL
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
調(diào)用: resource fopen ( string filename, string mode [, bool use_include_path [, resource zcontext]] )
返回值: 如果打開失敗,本函數(shù)返回 FALSE
117.fclose(): 關(guān)閉一個(gè)已打開的文件指針
$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"; }
調(diào)用: bool file_exists ( string filename ) 輸入: 指定的文件或目錄 輸出: 存在則返回 TRUE,否則返回 FALSE
119.filesize(): 取得文件大小
$filename = 'somefile.txt'; echo $filename . ': ' . filesize($filename) .'bytes';
調(diào)用: int filesize ( string $filename )
輸出: 返回文件大小的字節(jié)數(shù),如果出錯(cuò)返回 FALSE 并生成一條 E_WARNING 級的錯(cuò)誤
120.is_readable(): 判斷給定文件是否可讀
$filename = 'test.txt'; if (is_readable($filename)) { echo '可讀'; } else { echo '不可讀'; }
調(diào)用: bool is_readable ( string $filename ) 輸出: 如果由 filename指定的文件或目錄存在并且可讀則返回 TRUE
121.is_writable(): 判斷給定文件是否可寫
$filename = 'test.txt'; if (is_writable($filename)) { echo '可寫'; } else { echo '不可寫'; }
調(diào)用: bool is_writable ( string $filename ) filename 參數(shù) 可以是一個(gè)允許進(jìn)行是否可寫檢查的目錄名
輸出: 如果文件存在并且可寫則返回 TRUE。
122.is_executable(): 判斷給定文件是否可執(zhí)行
$file = 'setup.exe'; if (is_executable($file)) { echo '可執(zhí)行'; } else { echo '不可執(zhí)行'; }
調(diào)用: bool is_executable ( string $filename ) 輸出: 如果文件存在且可執(zhí)行則返回 TRUE
123.filectime(): 獲取文件的創(chuàng)建時(shí)間
$filename = 'somefile.txt'; echo filectime($filename);
調(diào)用: int filectime ( string $filename ) 輸出: 時(shí)間以 Unix 時(shí)間戳的方式返回,如果出錯(cuò)則返回FALSE
124.filemtime(): 獲取文件的修改時(shí)間
$filename = 'somefile.txt'; echo filemtime($filename);
int filemtime ( string $filename )
輸出: 返回文件上次被修改的時(shí)間,出錯(cuò)時(shí)返回 FALSE。時(shí)間以 Unix時(shí)間戳的方式返回
125.fileatime(): 獲取文件的上次訪問時(shí)間
$filename = 'somefile.txt'; echo fileatime($filename);
調(diào)用: int fileatime (string $filename)
輸出: 返回文件上次被訪問的時(shí)間, 如果出錯(cuò)則返回FALSE. 時(shí)間以Unix時(shí)間戳的方式返回.
126.stat(): 獲取文件大部分屬性值
$filename = 'somefile.txt'; var_dump(fileatime($filename));
調(diào)用: array stat (string $filename 輸出: 返回由 filename 指定的文件的統(tǒng)計(jì)信息
文件操作
127.fwrite(): 寫入文件
$filename = 'test.txt'; $somecontent = "添加這些文字到文件\n"; $handle = fopen($filename, 'a'); fwrite($handle, $somecontent); fclose($handle);
調(diào)用: int fwrite ( resource handle, string string [, int length] )
輸出: 把 string 的內(nèi)容寫入 文件指針 handle 處。如果指定了 length,當(dāng)寫入了length個(gè)字節(jié)或者寫完了string以后,寫入就會停止, 視乎先碰到哪種情況
128.fputs(): 同上
129.fread(): 讀取文件
$filename = "/usr/local/something.txt"; $handle = fopen($filename, "r"); $contents = fread($handle, filesize($filename)); fclose($handle);
調(diào)用: string fread ( int handle, int length ) 從文件指針handle,讀取最多 length 個(gè)字節(jié)
130.feof(): 檢測文件指針是否到了文件結(jié)束的位置
$file = @fopen("no_such_file", "r"); while (!feof($file)) { } fclose($file);
調(diào)用: bool feof ( resource handle ) 輸出: 如果文件指針到了 EOF 或者出錯(cuò)時(shí)則返回TRUE,否則返回一個(gè)錯(cuò)誤(包括 socket 超時(shí)),其它情況則返回 FALSE
131.fgets(): 從文件指針中讀取一行
$handle = @fopen("/tmp/inputfile.txt", "r"); if ($handle) { while (!feof($handle)) { $buffer = fgets($handle, 4096); echo $buffer; } fclose($handle); }
調(diào)用: string fgets ( int handle [, int length] ) 輸出: 從handle指向的文件中讀取一行并返回長度最多為length-1字節(jié)的字符串.碰到換行符(包括在返回值中)、EOF 或者已經(jīng)讀取了length -1字節(jié)后停止(看先碰到那一種情況). 如果沒有指定 length,則默認(rèn)為1K, 或者說 1024 字節(jié).
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 ) 輸出: 返回一個(gè)包含有一個(gè)字符的字符串,該字符從 handle指向的文件中得到. 碰到 EOF 則返回 FALSE.
133.file(): 把整個(gè)文件讀入一個(gè)數(shù)組中
$lines = file('http://www.example.com/'); // 在數(shù)組中循環(huán),顯示 HTML 的源文件并加上行號。 foreach ($lines as $line_num => $line) { echo "Line #<b>{$line_num}</b> : " . htmlspecialchars($line) . "<br />\n"; } // 另一個(gè)例子將 web 頁面讀入字符串。參見 file_get_contents()。 $html = implode('', file('http://www.example.com/'));
調(diào)用: array file ( string $filename [, int $use_include_path [, resource $context ]] )
輸出: 數(shù)組中的每個(gè)單元都是文件中相應(yīng)的一行,包括換行符在內(nèi)。如果失敗 file() 返回 FALSE
134.readfile(): 輸出一個(gè)文件 調(diào)用: int readfile ( string $filename [, bool $use_include_path [, resource $context ]] )
輸出: 讀入一個(gè)文件并寫入到輸出緩沖。返回從文件中讀入的字節(jié)數(shù)。如果出錯(cuò)返回 FALSE
135.file_get_contents(): 將整個(gè)文件讀入一個(gè)字符串
echo file_get_contents('http://www.baidu.com');
調(diào)用: string file_get_contents ( string $filename [, bool $use_include_path [, resource $context [, int $offset [, int $maxlen ]]]] ) 136.file_put_contents():將一個(gè)字符串寫入文件
file_put_contents('1.txt','aa');
調(diào)用: int file_put_contents ( string $filename , string $data [, int $flags [, resource $context ]] )
輸出: 該函數(shù)將返回寫入到文件內(nèi)數(shù)據(jù)的字節(jié)數(shù)
137.ftell(): 返回文件指針讀/寫的位置
$fp=fopen('tx.txt','r'); fseek($fp,10); echo ftell($fp); fread($fp,4); echo ftell($fp);
調(diào)用: int ftell ( resource $handle ) 輸出: 返回由 handle 指定的文件指針的位置,也就是文件流中的偏移量
138.fseek(): 在文件指針中定位
$fp=fopen('tx.txt','r'); fseek($fp,10); echo ftell($fp); fread($fp,4); echo ftell($fp);
調(diào)用: 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);
調(diào)用: bool rewind ( resource $handle ) 返回值: 如果成功則返回 TRUE,失敗則返回 FALSE
140.flock(): 輕便的執(zhí)行文件鎖定
$fp=fopen('tx.txt','r'); flock($fp, LOCK_SH);//共享鎖 //flock($fp, LOCK_EX);//獨(dú)立鎖,寫文件時(shí)用它打開 //flock($fp, LOCK_NB);//附加鎖 flock($fp, LOCK_UN);//釋放鎖 fclose($fp);
調(diào)用: 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");
調(diào)用: string basename ( string $path [, string $suffix ]) 輸出: 給出一個(gè)包含有指向一個(gè)文件的全路徑的字符串,本函數(shù)返回基本的文件名。如果文件名是以 suffix 結(jié) 束的,那這一部分也會被去掉
142.dirname(): 返回路徑中的目錄部分
$path = "/etc/passwd"; $file = dirname($path);
調(diào)用: string dirname ( string $path ) 輸出: 給出一個(gè)包含有指向一個(gè)文件的全路徑的字符串,本函數(shù)返回去掉文件名后的目錄名
143.pathinfo(): 返回文件路徑的信息
echo '<pre>'; print_r(pathinfo("/www/htdocs/index.html")); echo '</pre>';
調(diào)用: mixed pathinfo ( string $path [, int $options ] ) 返回一個(gè)關(guān)聯(lián)數(shù)組包含有 path 的信息
144.opendir(): 打開目錄句柄
$fp=opendir('E:/xampp/htdocs/php/study/19'); echo readdir($fp); closedir($fp);
調(diào)用: resource opendir ( string $path [, resource $context ] ) 返回值: 如果成功則返回目錄句柄的 resource,失敗則返回FALSE
145.readdir(): 從目錄句柄中讀取條目
$fp=opendir('E:/xampp/htdocs/php/study/19'); echo readdir($fp); closedir($fp);
調(diào)用: string readdir ( resource $dir_handle ) 返回值: 返回目錄中下一個(gè)文件的文件名。文件名以在文件系統(tǒng)中的排序返回
146.closedir(): 關(guān)閉目錄句柄
$fp=opendir('E:/xampp/htdocs/php/study/19'); echo readdir($fp); closedir($fp);
調(diào)用: void closedir ( resource $dir_handle ) 關(guān)閉由 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);
調(diào)用: void rewinddir ( resource $dir_handle ) 輸出: 將 dir_handle 指定的目錄流重置到目錄的開頭 148.mkdir(): 新建目錄
mkdir('123');
調(diào)用: bool mkdir ( string $pathname [, int $mode [, bool $recursive [, resource $context ]]] ) 輸出: 嘗試新建一個(gè)由 pathname 指定的目錄
149.rmdir(): 刪除目錄
rmdir('123');
調(diào)用: bool rmdir ( string $dirname ) 輸出: 嘗試刪除 dirname 所指定的目錄。目錄必須是空的,而且要有相應(yīng)的權(quán)限。如果成功則返回TRUE,失敗則返回 FALSE
150.unlink(): 刪除文件
unlink('123/1.txt'); rmdir('123');
調(diào)用: bool unlink ( string $filename ) 輸出: 刪除 filename 。和 Unix C 的 unlink() 函數(shù)相似。如果成功則返回 TRUE,失敗則返回 FALSE
151.copy(): 拷貝文件
copy('index.php','index.php.bak');
調(diào)用: bool copy ( string $source , string $dest ) 輸出: 將文件從 source 拷貝到 dest. 如果成功則返回TRUE,失敗則返回 FALSE
152.rename(): 重命名一個(gè)文件或目錄
rename('tx.txt','txt.txt');
調(diào)用: 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('不是上傳文件'); }
調(diào)用: bool is_uploaded_file ( string $filename )
154.move_uploaded_file(): 將上傳的文件移動(dòng)到新位置
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('不是上傳文件'); }
調(diào)用: bool move_uploaded_file ( string $filename , string
時(shí)間函數(shù)
155.time(): 返回當(dāng)前的 Unix 時(shí)間戳time(); 調(diào)用: int time ( void ) 輸出: 返回自從 Unix 紀(jì)元(格林威治時(shí)間 1970 年 1 月 1 日 00:00:00)到當(dāng)前時(shí)間的秒數(shù)
156.mktime(): 取得一個(gè)日期的 Unix 時(shí)間戳
mktime(0, 0, 0, 4, 25, 2012);
調(diào)用: int mktime ([ int $hour [, int $minute [, int $second [, int $month [, int $day [, int $year [, int $is_dst ]]]]]]] ) 156.date(): 格式化一個(gè)本地時(shí)間/日期
date('Y年m月d日 H:i:s');
調(diào)用: string date ( string $format [, int $timestamp ] )
輸出: 2016年09月10日 20:45:54
157.checkdate(): 驗(yàn)證一個(gè)格里高里日期 調(diào)用: bool checkdate ( int $month , int $day , int $year) 輸出: 如果給出的日期有效則返回 TRUE,否則返回 FALSE
if(checkdate(6,31,2012)){ echo '成立'; }else{ echo '不成立'; }
158.date_default_timezone_set(): 設(shè)定用于一個(gè)腳本中所有日期時(shí)間函數(shù)的默認(rèn)時(shí)區(qū)
date_default_timezone_set('PRC');
調(diào)用: bool date_default_timezone_set ( string $timezone_identifier)
返回值: 如果 timezone_identifier 參數(shù)無效則返回 FALSE,否則返回 TRUE。
159.getdate(): 取得日期/時(shí)間信息 調(diào)用: array getdate ([ int $timestamp ] )
輸出: 返回一個(gè)根據(jù)timestamp得出的包含有日期信息的關(guān)聯(lián)數(shù)組。如果沒有給出時(shí)間戳則認(rèn)為是當(dāng)前本地時(shí)間
$t=getdate(); var_dump($t);
160.strtotime(): 將任何英文文本的日期時(shí)間描述解析為 Unix 時(shí)間戳
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(): 返回當(dāng)前 Unix 時(shí)間戳和微秒數(shù) 調(diào)用: mixed microtime ([ bool $get_as_float ] )
$start=microtime(true); sleep(3); $stop=microtime(true); echo $stop-$start;
其他常用:
162.intval(): 獲取變量的整數(shù)值 調(diào)用: int intval ( mixed $var [, int $base = 10 ] ) 通過使用指定的進(jìn)制 base 轉(zhuǎn)換(默認(rèn)是十進(jìn)制),返回變量 var 的 integer 數(shù)值。 intval() 不能用于 object,否則會產(chǎn)生 E_NOTICE 錯(cuò)誤并返回 1。
var: 要轉(zhuǎn)換成 integer 的數(shù)量值
base: 轉(zhuǎn)化所使用的進(jìn)制
返回值: 成功時(shí)返回 var 的 integer 值,失敗時(shí)返回 0。 空的 array 返回 0,非空的 array 返回 1。
PDO類的相關(guān)函數(shù) 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 "<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á)式-元字符
元字符及其匹配范圍
\d 匹配任意一個(gè)十進(jìn)制數(shù)字,等價(jià)于: [0-9] \D 匹配除十進(jìn)制數(shù)字以外的任意數(shù)字,等價(jià)于: [^0-9] \s:匹配空白字符,等價(jià)于: [\n\f\r\t\v] \S: 匹配除空白字符以外的任意一個(gè)字符, 等價(jià)于[^\n\f\r\t\v]
\w 匹配任意一個(gè)數(shù)字、字母和下劃線,等價(jià)于: [0-9a-zA-Z_] \W 匹配除字母、數(shù)字和下劃線以外的任意字符, 等價(jià)于: [^0-9a-zA-Z_] [] 1)用來表示范圍。2)匹配任意一個(gè)中括號中定義的原子 [^]: 中括號里面的^(抑揚(yáng)符):表示匹配任意一個(gè)除中括號里面定義的原子
限定次數(shù)
* 匹配0次、1次或多次其前的原子, 等價(jià)于: {0,} + 匹配1次或多次其前的原子, 等價(jià)于: {1,} ? 匹配0次或1次其前的原子, 等價(jià)于: {0,1} {n} 表示其前的原子正好出現(xiàn)n次, 等價(jià)于: {n,} 表示其前的原子至少出現(xiàn)n次,最多不限制 {m,n} 表示其前的原子最少出現(xiàn)m次,最多出現(xiàn)n次
其它
. 匹配除換行符(\n)以外的任意字符【windows下還匹配\f\r】 | 兩個(gè)或多個(gè)分支選擇【優(yōu)先級最低】 ^ 匹配輸入字符的開始位置 $ 匹配輸入字符的結(jié)束位置 \b 匹配詞邊界 \B 匹配非詞邊界 () 1)模式單元,把多個(gè)小原子組成一個(gè)大原子。2)可以改變優(yōu)先級
- PHP中的函數(shù)嵌套層數(shù)限制分析
- php初始化對象和析構(gòu)函數(shù)的簡單實(shí)例
- PHP使用內(nèi)置函數(shù)file_put_contents寫入文件及追加內(nèi)容的方法
- PHP使用內(nèi)置函數(shù)生成圖片的方法詳解
- 幾個(gè)實(shí)用的PHP內(nèi)置函數(shù)使用指南
- 關(guān)于PHP內(nèi)置的字符串處理函數(shù)詳解
- 使用php重新實(shí)現(xiàn)PHP腳本引擎內(nèi)置函數(shù)
- PHP內(nèi)置函數(shù)生成隨機(jī)數(shù)實(shí)例
- PHP 查找字符串常用函數(shù)介紹
- PHP函數(shù)篇詳解十進(jìn)制、二進(jìn)制、八進(jìn)制和十六進(jìn)制轉(zhuǎn)換函數(shù)說明
- PHP取整數(shù)函數(shù)常用的四種方法小結(jié)
- PHP函數(shù)用法詳解【初始化、嵌套、內(nèi)置函數(shù)等】
相關(guān)文章
php遇到錯(cuò)誤Call to undefined function ImageCreate()解決方法
剛配置好服務(wù)器,運(yùn)行php的時(shí)候提示Call to undefined function imagecreate錯(cuò)誤,經(jīng)過百度發(fā)現(xiàn)是php不支持gd庫,linux服務(wù)器需要重新make,windows下比較簡單了,下面是具體的方法2021-09-09PHP+jQuery實(shí)現(xiàn)自動(dòng)補(bǔ)全功能源碼
前面手工寫了一個(gè)下拉自動(dòng)補(bǔ)全功能,寫的簡單,只實(shí)現(xiàn)了鼠標(biāo)選擇的功能,不支持鍵盤選擇,下面與大家分享下PHP+jQuery實(shí)現(xiàn)自動(dòng)補(bǔ)全功能2013-05-05php安全配置記錄和常見錯(cuò)誤梳理(總結(jié))
下面小編就為大家?guī)硪黄猵hp安全配置記錄和常見錯(cuò)誤梳理(總結(jié))。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03php實(shí)現(xiàn)分頁功能的詳細(xì)實(shí)例方法
在本篇文章里小編給大家整理的是關(guān)于php實(shí)現(xiàn)分頁功能的詳細(xì)實(shí)例方法,有需要的朋友們可以學(xué)習(xí)下。2019-09-09php5.3不能連接mssql數(shù)據(jù)庫的解決方法
這篇文章主要介紹了php5.3不能連接mssql數(shù)據(jù)庫的解決方法,針對php5.3之后不支持mssql_connect函數(shù)提供了對應(yīng)的解決方法,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2014-12-12PHP基于接口技術(shù)實(shí)現(xiàn)簡單的多態(tài)應(yīng)用完整實(shí)例
這篇文章主要介紹了PHP基于接口技術(shù)實(shí)現(xiàn)簡單的多態(tài)應(yīng)用,結(jié)合完整實(shí)例形式分析了php接口的定義、繼承、調(diào)用及多態(tài)的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-04-04PHP實(shí)現(xiàn)鏈表的定義與反轉(zhuǎn)功能示例
這篇文章主要介紹了PHP實(shí)現(xiàn)鏈表的定義與反轉(zhuǎn)功能,結(jié)合實(shí)例形式分析了PHP鏈表的基本定義、添加、移除、遍歷以及兩種反轉(zhuǎn)操作相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2018-06-06