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);
輸出結果:0.5(5.7/1.3=4···0.5)

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(返回其中的最大值)


9.min(): 求最小值 求最小值
echo min(1, 3, 5, 6, 7);
輸入: 多個數字或數組
輸出結果:1(返回其中的最小值)


10.mt_rand(): 更好的隨機數 更好的隨機數
echo mt_rand(0,9);
輸入: 最小|最大,
輸出: 隨機數隨機返回范圍內的值


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


12.pi(): 獲取圓周率值 獲取圓周率值
echo pi();
輸出結果:3.1415926535898....


二、 去空格或或其他字符: :
13.trim(): 刪除字符串兩端的空格或其他預定義字符 刪除字符串兩端的空格或其他預定義字符
$str = "\r\nHello World!\r\n";
echo trim($str);
輸入: 目標字符串
輸出結果:Hello World!(清除后的字符串)


14.rtrim(): 刪除字符串右邊的空格或其他預定義字符 刪除字符串右邊的空格或其他預定義字符
$str=”Hello World !\n\n”;
echo rtrim($str);
輸入: 目標字符串
輸出結果:Hello World!(清除后的字符串)


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

16.ltrim(): 刪除字符串左邊的空格或其他預定義字符 刪除字符串左邊的空格或其他預定義字符
$str = "\r\nHello World!";
echo ltrim($str);
輸入: 目標字符串
輸出結果:Hello World!(清除后的字符串)

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

三、 字符串生成與轉化
18.str_pad(): 把字符串填充為指定的長度 把字符串填充為指定的長度
$str = "Hello World";
echo str_pad($str,20,".");
輸入: 要填充的字符串|新字符串的長度|供填充使用的字符串, 默認是空白
輸出結果: Hello World.........(完成后的字符串)


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


20.str_split(): 把字符串分割到數組中 把字符串分割到數組中
print_r(str_split("Hello"));
輸入: 要分割的字符串|每個數組元素的長度,默認 1
輸出結果: Array ( [0] => H [1] => e [2] => l [3] => l [4] => o )(拆分后的字符串數組)


21.strrev(): 反轉字符串 反轉字符串
echo strrev("Hello World!");
輸入:需要翻轉的字符串
輸出結果: !dlroW olleH(目標字符串顛倒順序后的字符串)

22.wordwrap(): 按照指定長度對字符串進行折行處理 按照指定長度對字符串進行折行處理
$str = "An example on a long word is:Supercalifragulistic";
echo wordwrap($str,15);
輸入: 目標字符串|最大寬數
輸出結果: An example on a long word is:Supercalifragulistic(折行后的新字符串)


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(): 通過千位分組來格式化數字 通過千位分組來格式化數字
echo number_format(20000000000);
輸入: 要格式化的數字|規定多少個小數|規定用作小數點的字符 串|規定用作千位分
隔符的字符串
輸出: 20,000,000,000

四、 大小寫轉換
26.strtolower(): 字符串轉為小寫 字符串轉為小寫
echo strtolower("Hello WORLD!");
輸入:目標字符串
輸出結果:hello world!(全部小寫字符串)


27.strtoupper(): 字符串轉為大寫 字符串轉為大寫
echo strtoupper("Hello WORLD!");
輸入:目標字符串
輸出結果: HELLO WORLD! (全部 大寫字符串 )


28.ucfirst(): 字符串首字母大寫 字符串首字母大寫
echo ucfirst("hello world");
輸入:目標字符串
輸出結果:Hello world(字符串首個字母大寫)


29.ucwords(): 字符串每個單詞首字符轉為大寫 字符串每個單詞首字符轉為大寫
echo ucwords("hello world");
輸出結果:Hello World(每個單詞的首寫字母都大寫)

五、l html 標簽關聯
30.htmlentities(): 把字符轉為 HTML 實體 實體
$str = "John & 'Adams'";
echo htmlentities($str, ENT_COMPAT);
輸出結果:John & 'Adams'


31.htmlspecialchars(): 預定義字符轉 html 編碼 編碼
$str = "This is some <b>bold</b> text.";
echo htmlspecialchars($str);
輸出結果:This is some <b>bold</b> text.


32.nl2br(): \n 轉義為 轉義為 標簽
echo nl2br("One line.\nAnother line.");
輸出結果: One line.
Another line.( 處理后的字符串 )


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


34.addcslashes():在指定的字符前添加反斜線轉義字符串中字符 在指定的字符前添加反斜線轉義字符串中字符
$str = "Hello, my name is John Adams.";
echo addcslashes($str,'m');
輸入: 目標字符串|指定的特定字符或字符范圍
輸出結果:Hello,\my na\me is John Ad\ms.


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 Adam’s?";
echo addslashes($str);
輸出結果: Who\'s John Adam\'s? (把目標串中的' " \和 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");
輸出結果:104(字符串第一個字符的 ASCII 值)


六、 字符串比較
41.strcasecmp(): 不區分大小寫比較兩字符串 不區分大小寫比較兩字符串
echo strcasecmp("Hello world!","HELLO WORLD!");
輸入: 兩個目標字符串
輸出結果:0(如果兩個字符串相等,0|如果 string1 小於 string2,小於 0|如果 string1 大
於 string2,大於 0)


42.strcmp(): 區分大小寫比較兩字符串 區分大小寫比較兩字符串
echo strcmp("Hello world!","Hello world!");
輸入:兩個目標字符串
輸出結果:0(如果兩個字符串相等,0|如果 string1 小於 string2,小於 0|如果 string1 大
於 string2,大於 0)


43.strncmp(): 比較字符串前 n 個字符,區分大小寫 區分大小寫
echo strncmp("Hello world!","Hello earth!",6);
輸入:兩個比較的字符串和指定的比較長度
輸出結果:0(如果兩個字符串相等,0|如果 string1 小於 string2,小於 0|如果 string1
大於 string2,大於 0)

44.strncasecmp(): 比較字符串前 n 個字符,不區分大小寫 不區分大小寫
echo strncasecmp("I love China!","i LOVE Shanghai!",6);
輸入:兩個比較的字符串和指定的比較長度
輸出結果:0(如果兩個字符串相等,0|如果 string1 小於 string2,小於 0|如果 string1
大於 string2,大於 0)


45.strnatcmp(): 自然順序法比較字符串長度,區分大小寫 區分大小寫
echo strnatcmp("2Hello world!","10Hello world!");
輸入: 目標字符串
輸出結果:-1(如果兩個字符串相等,0|如果 string1 小於 string2,小於 0|如果 string1
大於 string2,大於 0)


46.strnatcasecmp(): 自然順序法比較字符串長度, 不區分大小寫 不區分大小寫
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
輸入目標:輸入: 目標字符串
輸出結果:1(如果兩個字符串相等,0|如果 string1 小於 string2,小於 0|如果 string1
大於 string2,大於 0)


七、 字符串切割與拼接
47.chunk_split():將字符串分成小塊 :將字符串分成小塊
$str = "Shanghai";
echo chunk_split($str,1,".");
輸入: 目標字串,長度,插入結束符
輸出: S.h.a.n.g.h.a.i.(分割后的字符串)

48.strtok(): 切開字符串 切開字符串
$string = "Hello world. Beautiful day today.";
$token = strtok($string, " ");
輸入:目標字符串
輸出結果:Hello
world.
Beautiful
day
today(以$token 為標志切割返回切割后的字符串)


49.explode(): 使用一個字符串為標志分割另一個字符串 使用一個字符串為標志分割另一個字符串
$str = "Hello world. I love Shanghai!";
print_r (explode(" ",$str));
輸入: 分割符,目標字符串,返回數組最多包含元素數
輸出: Array ( [0] => Hello [1] => world. [2] => I [3] => love [4] => Shanghai! )(字符串被分割
后形成的數組)


50.implode(): 同 同 join,將數組值用預訂字符連接成字符串 將數組值用預訂字符連接成字符串
$arr = array('Hello','World!','I','love','Shanghai!');
echo implode(" ",$arr);
輸入:分隔符,用””則直接相連
輸出結果:Hello World! I love Shanghai!


51.substr(): 截取字符串 截取字符串
echo substr("Hello world",6);
輸入:目標字符串,開始下標位置(下標從 0 開始)
輸出結果:world

 

八、 字符串查找替換
52.str_replace(): 字符串替換操作,區分大小寫 區分大小寫
echo str_replace("world","Shanghai","Hello world!");
輸入: 查找的字符串,替換的字符串,被查找字串
輸出: Hello Shanghai(返回替換后的結果)


53.str_ireplace() 字符串替換操作,不區分大小寫 不區分大小寫
echo str_ireplace("WORLD","Shanghai","Hello world!");
輸入: 查找的字符串,替換的字符串,被查找字串
輸出: Hello Shanghai!(返回替換后的結果)


54.substr_count(): 統計一個字符串,在另一個字符串中出現次數 在另一個字符串中出現次數
echo substr_count("I love Shanghai. Shanghai is the biggest city in china.","Shanghai");
輸入:被統計字符串,檢查的目標字符串
輸出結果:2


55.substr_replace(): 替換字符串中某串為另一個字符串 替換字符串中某串為另一個字符串
echo substr_replace("Hello","world",0);
輸入:查找字符串,替換上的字符串,起始位置(下標為 0 開始)
輸出結果:world

56.similar_text(): 返回兩字符串相同字符的數量 返回兩字符串相同字符的數量
echo similar_text("Hello World","Hello Shanghai");
輸入: 兩個比較的字符串
輸出: 6(整形,相同字符數量)


57.strrchr(): 返回一個字符串在另一個字符串中最后一次出現位置開始到末尾的字符串 返回一個字符串在另一個字符串中最后一次出現位置開始到末尾的字符串
echo strrchr("I love Shanghai!","Shanghai");
輸出結果:Shanghai!


58.strstr(): 返回一個字符串在另一個字符串中開始位置到結束的字符串 返回一個字符串在另一個字符串中開始位置到結束的字符串
echo strstr("I love Shanghai!","Shanghai");
輸出結果:Shanghai!


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

echo strchr("Hello world!","world");
輸出結果:world!


60.stristr(): 返回一個字符串在另一個字符串中開始位置到結束的字符串,不區分大小寫 返回一個字符串在另一個字符串中開始位置到結束的字符串,不區分大小寫
echo stristr("Hello world!","WORLD");
輸出結果:world!


61.strtr(): 轉換字符串中的某些字符 轉換字符串中的某些字符
echo strtr("Hilla Warld","ia","eo");
輸入:目標字符串,要替換掉的字符,替換上的字符
輸出結果:Hello World


62.strpos(): 尋找字符串中某字符最先出現的位置 尋找字符串中某字符最先出現的位置
echo strpos("You love php, I love php too!","php");
輸出結果:9(下標從 0 開始)


63.stripos(): 尋找字符串中某字符最先出現的位置,不區分大小寫 不區分大小寫
echo stripos("You love php, I love php too!","PHP");
輸出結果:9(下標從 0 開始)


64.strrpos(): 尋找某字符串中某字符最后出現的位置 尋找某字符串中某字符最后出現的位置
echo strrpos("You love php, I love php too!","php");
輸出結果:21(下標從 0 開始)


65.strripos(): 尋找某字符串中某字符最后出現的位置,不區分大小寫 不區分大小寫
echo strripos("You love php, I love php too!","PHP");
輸入:目標字符串,查找字符串
輸出結果:21(下標從 0 開始)


66.strspn(): 返回字符串中首次符合 mask 的子字符串長度 的子字符串長度
echo strspn("Hello world!","kHlleo");
輸入:目標字符串,
輸出結果:5("kHlleo"在"Hello world!"中,有 5 個字符串 Hello 符合)


67.strcspn(): 返回字符串中不符合 mask 的字符串的長度 的字符串的長度
echo strcspn("Hello world!","w");
輸入: 被查詢,查詢字符串,開始查詢的字符,是查詢長度
輸出: 返回從開始到第幾個字符


九、字符串統計
68.str_word_count(): 統計字符串含有的單詞數 統計字符串含有的單詞數
echo str_word_count("I love Shanghai!");
輸入: 目標字符串
輸出: 3(統計處的數量)


69.strlen(): 統計字符串長度 int strlen(str $str)
echo strlen("Shanghai");
輸入: 目標字符串
輸出結果: 8(整型長度)


70.count_chars(): 統計字符串中所有字母出現次數(0..255)
$str = "Hello World!";
echo count_chars($str,3);
輸入:目標字符串
輸出結果:!HWdelor(根據 ASCII 碼先后顯示輸出)

十、字符串編碼
71.md5(): 字符串 md5 編碼 編碼
$str = "Hello";
echo md5($str);
輸入:目標加密字符串
輸出結果: 8b1a9953c4611296a827abf8c47804d7


十一、 數組創建
72.array(): 生成一個數組 生成一個數組
$a=array("Dog","Cat","Horse");
print_r($a);
輸入:數組值或鍵=>值一個數組型變量
輸出結果: Array ( [0] => Dog [1] => Cat [2] => Horse )


73.array_combine(): 生成一個數組,用一個數組的值 用一個數組的值 作為鍵名 作為鍵名,另一個數組值作為值 另一個數組值作為值
$a1=array("a","b","c","d");
$a2=array("Cat","Dog","Horse","Cow");
print_r(array_combine($a1,$a2));
輸入:$a1 為提供鍵,$a2 提供值
輸出結果: Array ( [a] => Cat [b] => Dog [c] => Horse [d] => Cow ) ( 合
成后的數組 )

74.range(): 創建並返回一個包含指定范圍的元素的數組。 創建並返回一個包含指定范圍的元素的數組。
$number = range(0,50,10);
print_r ($number);
輸入: 最小值,最大值,步長
輸出結果: Array ( [0] => 0 [1] => 10 [2] => 20 [3] => 30 [4] => 40 [5]
=> 50 )( 合成后的數組 )

75.compact(): 創建一個由參數所帶變量組成的數組 創建一個由參數所帶變量組成的數組
$firstname = "Peter";
$lastname = "Griffin";
$age = "38";
$result = compact("firstname", "lastname", "age");
print_r($result);
輸入:變量或數組
輸出結果: Array ( [firstname] => Peter [lastname] => Griffin [age] =>
38 )( 返回由變量名為鍵,變量值為值的數組,變量也可以為多維數組.會遞歸處理 )


76.array_fill(): 用給定的填充( 值生成)數組 數組
$a=array_fill(2,3,"Dog");
print_r($a);
輸入:鍵,填充的數量,填充內容
輸出結果: Array ( [2] => Dog [3] => Dog [4] => Dog )( 返回完成的數組 )

十二、數組合並和拆分
77.array_chunk(): 把一個數組分割為新的數組塊 把一個數組分割為新的數組塊
$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse","d"=>"Cow");
print_r(array_chunk($a,2));
輸入:一個數組
輸出結果: Array ( [0] => Array ( [0] => Cat [1] => Dog ) [1] => Array
( [0] => Horse [1] => Cow ) )( 分割后的多維數組,規定每個新數組包含 2 個元素 )


78.array_merge(): 把兩個或多個數組合並為一個數組。 把兩個或多個數組合並為一個數組。
$a1=array("a"=>"Horse","b"=>"Dog");
$a2=array("c"=>"Cow","b"=>"Cat");
print_r(array_merge($a1,$a2));
輸入: 兩個數組
輸出: Array ( [a] => Horse [b] => Cat [c] => Cow ) ( 返回完成后的數組 )


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

$a=array(0=>"Dog",1=>"Cat",2=>"Horse",3=>"Bird");
print_r(array_slice($a,1,2));
輸入: 一個數組
輸出: Array ( [0] => Cat [1] => Horse )( 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));
輸入: 兩個或多個數組
輸出結果: Array ( [0] => Cat )( $a1 與$a2 的不同之處 )


81.array_intersect(): 返回兩個或多個數組的交集數組 返回兩個或多個數組的交集數組
$a1=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
$a2=array("e"=>"red","f"=>"green","g"=>"blue");
$result=array_intersect($a1,$a2);
print_r($result);
輸入:兩個或多個數組
輸出結果: Array ( [a] => red [b] => green [c] => blue )( $a1 與$a2 的相
同之處 )


十四、數組查找替換
82.array_search(): 在數組中查找一個值,返回一個鍵,沒有返回返回假 在數組中查找一個值,返回一個鍵,沒有返回返回假
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_search("Dog",$a);
輸入: 一個數組
輸出: 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);
輸入: 一個或多個數組
輸出: Array ( [0] => Tiger [1] => Lion [2] => Horse [3] => Bird )( $a1
被移除的部分由$a2 補全 )


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


85.in_array(): 在數組中搜索給定的值,區分大小寫 區分大小寫
$people = array("Peter", "Joe", "Glenn", "Cleveland");
if (in_array("Glenn",$people) ){
echo "Match found";
} else{
echo "Match not found";
}
輸入: 需要搜索的值|數組
輸出結果: Match found


86.array_key_exists(): 的 判斷某個數組中是否存在指定的 key
$a=array("Volvo"=>"XC90","BMW"=>"X5");
if (array_key_exists("Volvo",$a))
{echo "鍵存在!";}
else {echo "鍵不存在!";}
輸入: 需要搜索的鍵名|數組
輸出結果:鍵存在!


十五、數組指針操作
87.key(): 返回數組內部指針當前指向元素的鍵名 返回數組內部指針當前指向元素的鍵名
$people = array("Bill", "Steve", "Mark", "David");
echo "鍵的當前位置是:" . key($people);
輸入:目標數組或者數組變量
輸出結果:鍵的當前位置是:0


88.current(): 返回數組中的當前元素( 單元).
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>";
輸入:目標數組或者數組變量
輸出結果:Bill

89.next(): 把指向當前元素的指針移動到下一個元素的位置,並返回當前元素的值 並返回當前元素的值
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>";
echo next($people);
輸入:目標數組或者數組變量
輸出結果:Bill
Steve(查詢當前指針的下個指針指向的內容)


90.prev(): 把指向當前元素的指針移動到上一個元素的位置,並返回當前元素的值 並返回當前元素的值
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>";
echo next($people) . "<br>";
echo prev($people);
輸入:目標數組或者數組變量
輸出結果:Bill
Steve
Bill


91.end(): 將數組內部指針指向最后一個元素,並返回該元素的值( 如果成功)
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>";
echo end($people);
輸入:目標數組或者數組變量
輸出結果:Bill
David

92.reset(): 把數組的內部指針指向第一個元素,並返回這個元素的值 把數組的內部指針指向第一個元素,並返回這個元素的值
$people = array("Bill", "Steve", "Mark", "David");
echo current($people) . "<br>";
echo next($people) . "<br>";
echo reset($people);
輸出結果:Bill
Steve
Bill


93.list(): 用數組中的元素為一組變量賦值 用數組中的元素為一組變量賦值
$my_array = array("Dog","Cat","Horse");
list($a, $b, $c) = $my_array;
echo "I have several animals, a $a, a $b and a $c.";
輸入: 需要賦值的變量
輸出結果: I have several animals, a Dog, a Cat and a Horse. ( 變量分別匹配數組中的值 )


94.array_shift(): 刪除數組中的第一個元素,並返回被刪除元素的值 刪除數組中的第一個元素,並返回被刪除元素的值
$a=array("a"=>"Dog","b"=>"Cat","c"=>"Horse");
echo array_shift($a);
print_r ($a);
輸出結果: Dog
Array ( [b] => Cat [c] => Horse )


95.array_unshift(): 在數組開頭插入一個或多個元素 在數組開頭插入一個或多個元素
$a=array("a"=>"Cat","b"=>"Dog");
array_unshift($a,"Horse");
print_r($a);
輸出結果: Array ( [0] => Horse [a] => Cat [b] => Dog )


96.array_push(): 向數組最后壓入一個或多個元素 向數組最后壓入一個或多個元素
$a=array("Dog","Cat");
array_push($a,"Horse","Bird");
print_r($a);
輸入: 目標數組|需要壓入的值
輸出結果: Array ( [0] => Dog [1] => Cat [2] => Horse [3] => Bird ) ( 新
的數組 )


97.array_pop(): 取得(刪除)數組中的最后一個元素 取得(刪除)數組中的最后一個元素
$a=array("Dog","Cat","Horse");
array_pop($a);
print_r($a);
輸入: 目標數組
輸出結果: Array ( [0] => Dog [1] => Cat ) ( 返回數組剩余元素 )

十六、數組鍵值操作
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;
輸入: 目標數組
輸出結果: 4(輸出元素個數)


100.array_flip(): 返回一個鍵值反轉后的數組 返回一個鍵值反轉后的數組
$a=array(0=>"Dog",1=>"Cat",2=>"Horse");
print_r(array_flip($a));
輸出結果: Array ( [Dog] => 0 [Cat] => 1 [Horse] => 2 )( 返回完成后的數
組 )

101.array_keys(): 返回數組所有的鍵,組成一個數組 組成一個數組
$a=array("a"=>"Horse","b"=>"Cat","c"=>"Dog");
print_r(array_keys($a));
輸出結果: Array ( [0] => a [1] => b [2] => c )( 返回由鍵名組成的數組 )


102.array_values(): 返回數組中所有值,組成一個數組 返回數組中所有值,組成一個數組
$a=array("Name"=>"Bill","Age"=>"60","Country"=>"USA");
print_r(array_values($a));
輸出結果: Array ( [0] => Bill [1] => 60 [2] => USA )( 返回由鍵值組成的
數組 )


103.array_reverse(): 返回一個元素順序相反的數組 返回一個元素順序相反的數組 元素順序相反的一個數組,鍵名和鍵值依然
匹配
$a=array("a"=>"Volvo","b"=>"BMW","c"=>"Toyota");
print_r(array_reverse($a));
輸出結果: Array ( [c] => Toyota [b] => BMW [a] => Volvo )


104.array_count_values(): 統計數組中所有的值出現的次數 統計數組中所有的值出現的次數
$a=array("Cat","Dog","Horse","Dog");
print_r(array_count_values($a));
輸出結果: Array ( [Cat] => 1 [Dog] => 2 [Horse] => 1 )( 返回數組原鍵值
為新鍵名,次數為新鍵值 )


105.array_rand(): 從數組中隨機抽取一個或多個元素, 注意是鍵名!!!
$a=array("a"=>"red","b"=>"green","c"=>"blue","d"=>"yellow");
print_r(array_rand($a,2));
輸入:目標數組, 返回多少隨機鍵名
輸出結果:返回 2 個隨機的鍵名


106.each(): 返回數組中當前的鍵/值對並將數組指針向前移動一步 返回數組中當前的鍵/值對並將數組指針向前移動一步 調用 調用 array each ( array
&$array )
$people = array("Bill", "Steve", "Mark", "David");
print_r (each($people));
輸出結果: Array ( [1] => Bill [value] => Bill [0] => 0 [key] => 0 )
在執行 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));
輸入: 目標數組
輸出結果: Array ( [a] => Cat [b] => Dog )( 返回無重復值數組,鍵名不變 )


十七、數組排序
108.sort(): 按升序對給定數組的值排序,不保留鍵名 不保留鍵名
$cars=array("Volvo","BMW","Toyota");
sort($cars);
輸出結果:BMW
Toyota
Volvo

 

109.rsort(): 按降序對給定數組的值排序,不保留鍵名 不保留鍵名
$cars=array("Volvo","BMW","Toyota");
rsort($cars);
輸出結果:Volvo
Toyota
BMW

 

110.asort(): 按升序 按升序 對 關聯 數組 的鍵值排序 排序,保持索引關系 保持索引關系
$age=array("Bill"=>"60","Steve"=>"56","Mark"=>"31");
asort($age);
輸出結果:Key=Mark, Value=31
Key=Steve, Value=56
Key=Bill, Value=60

 

111.arsort(): 按降序 按降序 對 關聯 數組 的鍵值排序 排序,保持索引關系 保持索引關系
$age=array("Bill"=>"60","Steve"=>"56","Mark"=>"31");
arsort($age);
輸出結果:Key=Bill, Value=60
Key=Steve, Value=56
Key=Mark, Value=31

 

112.ksort(): 按升序 按升序 對 關聯 數組 的鍵名排序 排序,保持索引關系 保持索引關系
$age=array("Bill"=>"60","Steve"=>"56","mark"=>"31");
ksort($age);
輸出結果:Key=Bill, Value=60
Key=Steve, Value=56
Key=mark, Value=31


113.krsort(): 按降序 按降序 對 關聯 數組 的鍵名排序 排序,保持索引關系 保持索引關系
$age=array("Bill"=>"60","Steve"=>"56","mark"=>"31");
krsort($age);
輸出結果:Key=mark, Value=31
Key=Steve, Value=56
Key=Bill, Value=60


114.natsort(): 用自然順序算法對數組中的元素排序 用自然順序算法對數組中的元素排序
$temp_files = array("temp15.txt","temp10.txt","temp1.txt","temp22.txt","temp2.txt");
sort($temp_files);
echo "標准排序:";
print_r($temp_files);
echo "<br>";
natsort($temp_files);
echo "自然排序:";
print_r($temp_files);
輸出結果:
標准排序:Array ( [0] => temp1.txt [1] => temp10.txt [2] => temp15.txt [3] => temp2.txt [4]
=> temp22.txt )
自然排序:Array ( [0] => temp1.txt [3] => temp2.txt [1] => temp10.txt [2] => temp15.txt [4]
=> temp22.txt )


115.natcasesort(): 自然排序,不區分大小寫 不區分大小寫
$temp_files = array("temp15.txt","Temp10.txt","temp1.txt","Temp22.txt","temp2.txt");
natsort($temp_files);
echo "自然排序:";
print_r($temp_files);
echo "<br />";
natcasesort($temp_files);
echo "不區分大小寫的自然排序:";
print_r($temp_files);
輸出結果:
自然排序:Array ( [1] => Temp10.txt [3] => Temp22.txt [2] => temp1.txt [4] => temp2.txt [0]
=> temp15.txt )
不區分大小寫的自然排序:Array ( [2] => temp1.txt [4] => temp2.txt [1] => Temp10.txt [0]
=> temp15.txt [3] => Temp22.txt )


十八、文件系統函數
116.fopen(): 者 打開文件或者 URL
$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");
返回值: 如果打開失敗,本函數返回 FALSE


117.fclose(): 關閉一個已打開的文件指針 關閉一個已打開的文件指針
$handle = fopen('somefile.txt', 'r');
fclose($handle);
輸出: 如果成功則返回 TRUE,失敗則返回 FALSE


十九、 文件屬性
118.file_exists(): 檢查文件或目錄是否存在 檢查文件或目錄是否存在
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "exists";
} else {
echo "does not exist";
}
輸入: 指定的文件或目錄
輸出結果: 存在則返回 TRUE,否則返回 FALSE


119.filesize(): 取得文件大小 取得文件大小
$filename = 'somefile.txt';
echo $filename . ': ' . filesize($filename) .'bytes';
輸出結果: 返回文件大小的字節數,如果出錯返回 FALSE,並生成一條 E_WARNING 級
的錯誤


120.is_readable(): 判斷給定文件是否可讀 判斷給定文件是否可讀
$filename = 'test.txt';
if (is_readable($filename)) {
echo '可讀';
} else {
echo '不可讀';
}
輸出結果: 如果由 filename 指定的文件或目錄存在並且可讀則返回 TRUE


121.is_writable(): 判斷給定文件是否可寫 判斷給定文件是否可寫
$filename = 'test.txt';
if (is_writable($filename)) {
echo '可寫';
} else {
echo '不可寫';
}
輸出結果: 如果文件存在並且可寫則返回 TRUE。


122.is_executable(): 判斷給定文件是否可執行 判斷給定文件是否可執行
$file = 'setup.exe';
if (is_executable($file)) {
echo '可執行';
} else {
echo '不可執行';
}
輸出結果: 如果文件存在且可執行則返回 TRUE


123.filectime(): 獲取文件的創建時間 獲取文件的創建時間
$filename = 'somefile.txt';
echo filectime($filename);
輸出結果: 時間以 Unix 時間戳的方式返回,如果出錯則返回 FALSE


124.filemtime(): 獲取文件的修改時間 獲取文件的修改時間
$filename = 'somefile.txt';
echo filemtime($filename);
輸出: 返回文件上次被修改的時間,出錯時返回 FALSE。時間以 Unix 時間戳的方式返回


125.fileatime(): 獲取文件的上次訪問時間 獲取文件的上次訪問時間
$filename = 'somefile.txt';
echo fileatime($filename);
輸出結果: 返回文件上次被訪問的時間,如果出錯則返回 FALSE.時間以 Unix 時間戳的方
式返回.


126.stat(): 獲取文件大部分屬性值 獲取文件大部分屬性值
$filename = 'somefile.txt';
var_dump(fileatime($filename));
輸出: 返回由 filename 指定的文件的統計信息


二十、文件操作
127.fwrite(): 寫入文件 寫入文件
$filename = 'test.txt';
$somecontent = "添加這些文字到文件\n";
$handle = fopen($filename, 'a');
fwrite($handle, $somecontent);
fclose($handle);
輸出結果: 把 string的內容寫入文件指針 handle 處。如果指定了 length,當寫入了 length
個字節或者寫完了 string 以后,寫入就會停止, 視乎先碰到哪種情況


128.fputs(): 同上 同上,是 ,是 fwrite 的別名 的別名


129.fread(): 讀取文件 讀取文件
$filename = "/usr/local/something.txt";
$handle = fopen($filename, "r");
$contents = fread($handle, filesize($filename));
fclose($handle);
輸出結果:從文件指針 handle,讀取最多 length 個字節


130.feof(): 檢測文件指針是否到了文件結束的位置 檢測文件指針是否到了文件結束的位置
$file = @fopen("no_such_file", "r");
while (!feof($file)) {
}
fclose($file);
輸出: 如果文件指針到了 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);
}
輸出結果: 從 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";
}
輸入: 目標文件中要讀取的字符
輸出: 返回一個包含有一個字符的字符串,該字符從 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/'));
輸出: 數組中的每個單元都是文件中相應的一行,包括換行符在內。如果失敗 file() 返
回 FALSE


134.readfile(): 輸出一個文件 輸出一個文件
echo readfile("test.txt");
輸出結果:There are two lines in this file.
This is the last line.
57(讀入一個文件並寫入到輸出緩沖。返回從文件中讀入的字節數。如果出
錯返回 FALSE)


135.file_get_contents(): 將整個文件讀入一個字符串 將整個文件讀入一個字符串
echo file_get_contents('http://www.baidu.com');
輸出結果:百度的頁面


136.file_put_contents():將一個字符串寫入文件 將一個字符串寫入文件
echo file_put_contents("test.txt","Hello World. Testing!");
輸出結果:26(該函數將返回寫入到文件內數據的字節數)


137.ftell(): 返回文件指針讀/寫的位置 寫的位置
$file = fopen("test.txt","r");
echo ftell($file);
fseek($file,"15");
echo "<br />" . ftell($file);
fclose($file);
輸出結果:0
15(返回由 handle 指定的文件指針的位置,也就是文件流中的偏移量)


138.fseek(): 在文件指針中定位 在文件指針中定位
$file = fopen("test.txt","r");
// 讀取第一行
fgets($file);
// 倒回文件的開頭
fseek($file,0);
輸出結果: 成功則返回 0;否則返回 -1


139.rewind(): 將文件指針的位置倒回文件的開頭 將文件指針的位置倒回文件的開頭
$file = fopen("test.txt","r");
//改變文件指針的位置
fseek($file,"15");
//把文件指針設定為 0
rewind($file);
輸出結果:如果成功則返回 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);
輸出: 如果成功則返回 TRUE,失敗則返回 FALSE


二十一、 目錄
141.basename(): 返回路徑中的文件名部分 返回路徑中的文件名部分
$path = "/testweb/home.php";
//顯示帶有文件擴展名的文件名
echo basename($path);
//顯示不帶有文件擴展名的文件名
echo basename($path,".php");
輸出結果: home.php
home


142.dirname(): 返回路徑中的目錄部分 返回路徑中的目錄部分
echo dirname("c:/testweb/home.php");
echo dirname("/testweb/home.php");
輸出結果: c:/testweb
/testweb


143.pathinfo(): 返回文件路徑的信息 返回文件路徑的信息
print_r(pathinfo("/testweb/test.txt"));
輸出結果:
Array
(
[dirname] => /testweb
[basename] => test.txt
[extension] => txt
) (返回一個關聯數組包含有 path 的信息)


144.opendir(): 打開目錄句柄 打開目錄句柄 (打開一個目錄,讀取它的內容,然后關閉)
$fp=opendir('/imges/');
echo readdir($fp);
closedir($fp);

輸出結果:cat.gif(如果成功則返回目錄句柄的 resource,失敗則返回 FALSE)


145.readdir(): 從目錄句柄中讀取條目 從目錄句柄中讀取條目 (返回目錄中下一個文件的文件名)
$fp=opendir('/imges/');
echo readdir($fp);
closedir($fp);
輸出結果:cat.gif(如果成功則返回目錄句柄的 resource,失敗則返回 FALSE)


146.closedir(): 關閉目錄句柄 關閉目錄句柄
$fp=opendir('/imges/');
echo readdir($fp);
closedir($fp);
輸出結果:cat.gif(如果成功則返回目錄句柄的 resource,失敗則返回 FALSE)

147.rewinddir() : 倒回目錄句柄 倒回目錄句柄
$fp=opendir('/images/');
echo readdir($fp).'<br />';
rewinddir($fp);
echo readdir($fp).'<br />';
closedir($fp);
輸出結果: 指定的目錄流重置到目錄的開頭


148.mkdir(): 新建目錄 新建目錄
mkdir('123');
輸出結果: 新建一個指定的目錄


149.rmdir(): 刪除目錄 刪除目錄
rmdir('123');
輸出結果: 刪除指定的目錄。目錄必須是空的,而且要有相應的權限。如果成功則返回
TRUE,失敗則返回 FALSE
150.unlink(): 刪除文件 刪除文件
unlink('123/1.txt');
rmdir('123');
輸出結果: 刪除 1.txt


151.copy(): 拷貝文件 拷貝文件
echo copy("source.txt","target.txt");
輸出結果: 1

152.rename(): 重命名一個文件或目錄 重命名一個文件或目錄
rename("images","pictures");
輸出: 如果成功則返回 TRUE,失敗則返回 FALSE


二十二、 文件的上傳與下載
153.is_uploaded_file():過 判斷文件是否是通過 HTTP POST 上傳的 上傳的
$file = "test.txt";
if(is_uploaded_file($file)){ echo ("$file is uploaded via HTTP POST"); }
else{ echo ("$file is not uploaded via HTTP POST"); }
輸出結果:test.txt is not uploaded via HTTP POST


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('不是上傳文件');
}


二十三、時間函數
155.time(): 的 返回當前的 Unix 時間戳 time();
$t=time();
echo($t . "<br>");
echo(date("Y-m-d",$t));
輸出結果: 1494396195
2017-05-10(返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日
00:00:00)到當前時間的秒數)


156.mktime(): 的 取得一個日期的 Unix 時間戳 時間戳 ,使用它來查找該日期的天
echo "Oct 3, 1975 was on a ".date("l", mktime(0,0,0,10,3,1975));
輸出結果:Oct 3, 1975 was on a Friday


156.date(): 格式化一個本地時間/日期 格式化一個本地時間/日期
echo date("Y-m-d h:i:s ");
輸出: 2017-05-10 06:11:06


157.checkdate(): 驗證一個格里高里日期 驗證一個格里高里日期
var_dump(checkdate(12,31,-400));
echo "<br>";
var_dump(checkdate(2,29,2003));
echo "<br>";
var_dump(checkdate(2,29,2004));
輸出結果:bool(false)
bool(false)
bool(true)


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

159.getdate(): 取得日期/時間信息 取得日期/時間信息
print_r(getdate());
輸出結果: Array ( [seconds] => 42 [minutes] => 18 [hours] => 6 [mday]
=> 10 [wday] => 3 [mon] => 5 [year] => 2017 [yday] => 129 [weekday] =>
Wednesday [month] => May [0] => 1494397122 ) ( 返回一個根據 timestamp 得出
的包含有日期信息的關聯數組。如果沒有給出時間戳則認為是當前本地時間 )


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


161.microtime(): 前 返回當前 Unix 時間戳和微秒數 時間戳和微秒數
echo(microtime());
輸出結果: 0.00806100
1494398062


二十四、其他常用:
162.intval(): 獲取變量的整數值 獲取變量的整數值
echo intval(0.99);
變量轉成整數類型
輸出結果:0(向下取整)


163.PDO 數 類的相關函數 prepare() execute() fetch()
<?php$driver = 'mysql';
$database = "dbname=CODINGGROUND";
$dsn = "$driver:host=localhost;unix_socket=/home/cg/mysql/mysql.sock;$database";
$username = 'root';
$password = 'root';try {
$conn = new PDO($dsn, $username, $password);
echo "<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>";?>


164. 正則表達式-元字符 元字符
元字符及其匹配范圍
\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)可以改變優先級


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM