內置函數整合

return
* 函數體遇到 return 就終止函數體內部執行 控制權交回函數調用處
* 省略return 返回值爲NULL

引用返回
* 必須在函數聲明指派返回值給一個變量時都使用引用運算符&

//舉例子
function &myFunc(){
    static $a = 10;//靜態
    return $a;
}
$b= &myFunc();// $b與函數的靜態變量$a互爲引用
echo $b;//輸出10
$b=100;
echo myFunc();//輸出100

外部文件的導入
include/require 語句包含並執行指定文件
如果給出路徑名:按照路徑查找 否則從include_path中查找文件 如果include_path中也沒有,則從調用腳本文件所在的目錄和當前工作目錄中尋找
當一個文件被包含時,其中所包含的代碼繼承了include所在行的變量範圍

加載過程中未找到文件:
      include 發出一條警告          E_WARNING
      require 發出一個致命錯誤      E_COMPITE_ERROR

require(include)/require_once(include_once)區別:
PHP會檢查該文件是否已經被包含過,如果是則不會再次包含。

時間日期函數

     * date()                       //時間格式化
     * strtotime()                  //時間轉化時間戳
     * mktime()                     //創造一個時間戳 時分秒月日年
     * time()                       //當前時間戳
     * microtime()                  //返回當前 Unix 時間戳的微秒數:
     * date_default_timezone_set()  //設置時區

IP處理函數
ip2long()//將一個數字格式的IPv4地址轉換成字符串格式(192.168.0.1)
long2ip()//將一個字符串格式 的IPv4地址轉換成數字格式

打印處理函數

 print()      //只打印一個
 echo         //逗號隔開打印多個

 printf()     //根據格式輸出
 sprintf()    //返回無輸出

 print_r()    //數組對象 格式化好打印  對於布爾值不同
 var_dump()   //數組對象 格式化好打印(每個值的類型 長度) 對於布爾值不同

 var_export() //內容格式化輸出 符合php的語法結構 第二個參數爲true時 該函數返回不輸入

序列化和反序列化
將一個變量所代表的 “內存數據”轉換爲“字符串”的形式,並持久保存在硬盤(寫入文件中保存)上的一種做法,即,把“內存數據”轉換爲“字符串”然後保存到文件中

  //* serialize()//

  $arr = array(
    'name'=>'zhangsan',
    'bag'=>array(
        'book'=>'English',
        'fruit'=>'apple'
    ),
     'age'=>8,
     'sex'=>'boy'

  //查看數組初始狀態的打印
 print_r($arr);
/**
Array
(
    [name] => zhangsan
    [bag] => Array
        (
            [book] => English
            [fruit] => apple
        )

    [age] => 8
    [sex] => boy
)
*/
 //序列化並打印
 $str = serialize($arr);
 echo "<br>";
 print_r($str);
 /*
 a:4:{s:4:"name";s:8:"zhangsan";s:3:"bag";a:2:{s:4:"book";s:7:"English";s:5:"fruit";s:5:"apple";}s:3:"age";i:8;s:3:"sex";s:3:"boy";}
*/

 //反序列化並打印
 $bak_arr = unserialize($str);
 print_r($bak_arr);
/*
Array
(
    [name] => zhangsan
    [bag] => Array
        (
            [book] => English
            [fruit] => apple
        )

    [age] => 8
    [sex] => boy
)
*/

字符串處理函數

   implode()
   //把數組元素組合爲一個字符串
    $arr = array('Hello','World!','Beautiful','Day!');
    echo implode(" ",$arr);
    //得到
    Hello World! Beautiful Day!
   join()//是 implode() 函數的別名

   explode()//把字符串打散爲數組
    $str = "Hello world. I love Shanghai!";
    $arr = explode(" ",$str);
    print_r ($arr);
    //得到
    Array
    (
        [0] => Hello
        [1] => world.
        [2] => I
        [3] => love
        [4] => Shanghai!
    )

   strrev()
    //反轉字符串
    $str = "Hello world. I love Shanghai!";
    $str1 = strrev($str);
    echo $str1;
     //得到
     !iahgnahS evol I .dlrow olleH

   trim()//移除字符串兩側的空白字符或其他預定義字符
   ltrim()//移除字符串左側的空白字符或其他預定義字符
   rtrim()//移除字符串右側的空白字符或其他預定義字符

   strstr()
   //查找 "world" 在 "Hello world!" 中是否存在,如果是,返回該字符串及後面剩餘部分
   echo strstr("Hello world!","world"); 
    //得到
    lo world!

   number_format('格式化數組','小數位數','小數點','千分位符')//函數通過千位分組來格式化數字
   echo number_format("1000000.12345",2,"@","&");
   //得到
   1&000&000@12

   substr()//截取字符串
   //substr(string,start,length)

數組的處理函數

  * array_keys()        //返回包含數組中所有鍵名的一個新數組
  * array_values()      //返回數組中所有的值(不保留鍵名)

  * array_diff()        // 比較兩個數組的鍵值,並返回差集 同名建 返回第一個數組的值 

        $a1=array("a"=>"red1","b"=>"green","c"=>"blue","d"=>"yellow");
        $a2=array("e"=>"red","f"=>"green","g"=>"blue");
        $result=array_diff($a1,$a2);
        print_r($result); 
        //得到
        Array
        (
            [a] => red1
            [d] => yellow
        )

  * array_intersect()   //比較兩個數組的鍵值,並返回交集: 

        $a1=array("a"=>"red1","b"=>"green","c"=>"blue","d"=>"yellow");
        $a2=array("e"=>"red","f"=>"green","g"=>"blue");
        $result=array_intersect($a1,$a2);
        print_r($result);
        //得到
        Array
        (
            [b] => green
            [c] => blue
        )

  * array_merge()       //把兩個數組合併爲一個數組 同名建 返回二個數組的值
        $a1=array("a"=>"red","b"=>"green");
        $a2=array("c"=>"blue","b"=>"yellow");
        print_r(array_merge($a1,$a2));
        //得到
        Array
        (
            [a] => red
            [b] => yellow
            [c] => blue
        )

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

        $a=array("a"=>"red","b"=>"green","c"=>"blue");
        echo array_shift($a),'<br>';
        print_r ($a);
        //得到
        red
        Array
        (
            [b] => green
            [c] => blue
        )

  * array_unshift()     //函數用於向數組插入新元素。新數組的值將被插入到數組的開頭。

    $a=array("a"=>"red","b"=>"green");
    array_unshift($a,"blue");
    print_r($a);
    //得到
    Array ( [0] => blue [a] => red [b] => green )


  * array_pop()         //刪除數組中的最後一個元素,並返回被刪除元素的值

        $a=array("a"=>"red","b"=>"green","c"=>"blue");
        echo array_pop($a),'<br>';
        print_r ($a);
        //得到
        blue
        Array
        (
            [a] => red
            [b] => green
        )


  * array_push()        //向數組尾部插入 一個或者多個元素
  * 
        $a=array("red","green");
        array_push($a,"blue","yellow");
        print_r($a);
        //得到
        Array ( [0] => red [1] => green [2] => blue [3] => yellow )

  * array_rand()        //返回包含隨機鍵名的數組 第二個參數默認1 小於數組長度

        $a=array('a'=>"red",'b'=>"green",'c'=>"blue",'d'=>"yellow",'e'=>"brown");
        $random_keys=array_rand($a,3);
        print_r($random_keys); 

  * sort()              // 函數對索引數組進行升序排序 成功則返回 TRUE,否則返回 FALSE

$cars=array("Volvo","BMW","Toyota");
sort($cars);
print_r($cars);
Array
(
    [0] => BMW
    [1] => Toyota
    [2] => Volvo
)
    //rsort() 函數行爲與 sort() 相反
    sort() 函數用於對數組單元從低到高進行排序。 鍵被打亂
  rsort() 函數用於對數組單元從高到低進行排序。鍵被打亂 
    $arr = array("b", "a", "c");
    sort($arr);
    print_r($arr);
    Array ( [0] => a [1] => b [2] => c )



  asort() 函數用於對數組單元從低到高進行排序並保持索引關係。 保持原鍵值
  arsort() 函數用於對數組單元從高到低進行排序並保持索引關係。 保持原鍵值
    $arr = array("b", "a", "c");
    asort($arr);
    print_r($arr);
    Array ( [1] => a [0] => b [2] => c ) 



  ksort() 函數用於對數組單元按照鍵名從低到高進行排序。
  krsort() 函數用於對數組單元按照鍵名從高到低進行排序。
  $arr = array("b"=>18, "a"=>20, "c"=>25);
  ksort($arr);
    Array ( [a] => 20 [b] => 18 [c] => 25 )
    
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章