站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        PHP自定義函數(shù)+系統(tǒng)函數(shù)庫(kù)(代碼示例)

        PHP自定義函數(shù)+系統(tǒng)函數(shù)庫(kù)(代碼示例)

        全局變量

          $n = 5; //全局變量     function fun1(){         global $n;         echo '我在函數(shù)體內(nèi)也可以調(diào)用全局變量n,它的值是:' , $n;//5         $n++;     }     fun1();     echo '<hr>';     echo $n;//6
          $n = 6;     function fun1(){         echo '變量的值是:' , $GLOBALS['n'];         $GLOBALS['n']++;     }     fun1();     echo $GLOBALS['n'];

        不使用循環(huán)語(yǔ)句,來(lái)計(jì)算1~100的和

            function recursive($n){         if($n>=1){             return $n + recursive($n-1);         }     }     echo recursive(100);

        引用

            $foo = 'Bob';     $bar = &$foo; //看待成變量的別名     $bar = 'Rose';     echo $foo;//Rose     $foo = 'Mooc';     $bar = &$foo; //看待成變量的別名     unset($foo); //變量銷毀     echo $bar;//Mooc

        自定義函數(shù)

            function fun1(&$n){         $n++;         echo '我是函數(shù)體內(nèi)的局部變量' ,  $n ;//4     }     $n = 3;     fun1($n);     echo $n , '<hr>';//4

        獲得擴(kuò)展名

            function getExtension($filename)     {         $pos = strrpos($filename, '.');         $extension = strtolower(substr($filename, $pos + 1));         return $extension;     }     $path = 'mooc.func.pHP';     var_dump(getExtension($path));

        求平均數(shù)

          function avg(...$args)     {         return $args;     }     var_dump(avg(1, 2, 3));

        系統(tǒng)函數(shù)庫(kù)

        字符串轉(zhuǎn)數(shù)組

            $str = 'A|B|C|D';     $arr = explode('|', $str);     print_r($arr);//[A,B,C,D]

        數(shù)組轉(zhuǎn)字符串

            $arr2 = array('Tom','John','Rose');     $str2 = implode(',',$arr2);     echo $str2;//Tom,John,Rose

        獲取擴(kuò)展名:

        方法一

            $filename = 'ab.cd.gif.JpEg'; //gepj.fig.dc.ba     $num = strrpos($filename, '.');     echo strtolower(substr($filename, $num+1)) , '<br/><br/>';//jpeg

        方法二

            $filename = 'ab.cd.gif.JpEg'; //gepj.fig.dc.ba     $str2 = strrev($filename);//strrev反轉(zhuǎn)字符串     $num = strpos($str2, '.');     echo strtolower(strrev(substr($str2, 0,$num)));//jpeg

        trim移除字符串兩側(cè)的字符

          $str = "nnttABCtt";     echo trim($str);//ABC

        md5()加密

            $str = 'abc';     echo md5($str);//900150983cd24fb0d6963f7d28e17f72

        格式化字符串

            $number = 5;     $str = 'shanghai';     $txt = sprintf('there are %d million cars in %s',$number,$str);     echo $txt;//there are 5 million cars in shanghai     $number = 123;     $txt = sprintf("帶有兩位小數(shù)的結(jié)果是:%1$.2f,n不帶小數(shù)的是:%1$d",$number);     echo $txt;//帶有兩位小數(shù)的結(jié)果是:123.00,不帶小數(shù)的是:123

        htmlspecialchars特殊字符轉(zhuǎn)為HTML實(shí)體

            $str = "A>B,B<C,Tom&John,He said:"I'm OK"";     echo htmlspecialchars($str,ENT_QUOTES);//A&gt;B,B&lt;C,Tom&amp;John,He said:&quot;I&#039;m OK&quot;

        通過(guò)str_replace進(jìn)行轉(zhuǎn)換

            $str1 = str_replace('&', '&amp;', $str); //必須是第一階梯     $str2 = str_replace('>', '&gt;', $str1);     $str2 = str_replace('<', '&lt;', $str2);     $str2 = str_replace('"', '&quot;', $str2);     $str2 = str_replace(''', '&#39;', $str2);     echo $str2;//A&gt;B,B&lt;C,Tom&amp;John,He said:&quot;I&#039;m OK&quot;

        str_ireplace不區(qū)分大小寫

          $str = 'javascript';     echo str_ireplace('A', 'b', $str);//jbvbscript

        隨機(jī)地打亂字符串中的所有字符

            $str = 'abcdefghijklmnopqrstuvwxyz';     $str = str_shuffle($str);     echo substr($str,0,4);//drif

        strlen獲得字符長(zhǎng)度

          $str1 = NULL;//0     $str2 = 'AB';//2     $str3 = '中國(guó)';//6 一個(gè)中文3個(gè)字符     echo strlen($str1) , strlen($str2) , strlen($str3);

        stripos不區(qū)分大小寫,字符串從0開始編號(hào),如果沒(méi)有出現(xiàn),則返回FALSE

            $str1 = 'javascript';     $str2 = 'A';     var_dump(stripos($str1, $str2)); //int(1)

        搜索$str2在字符串中的位置,并返回從該位置到字符串結(jié)尾的所有字符

          $str1 = 'abcdcef';     $str2 = 'c';     echo strrchr($str1, $str2);//cef

        獲取擴(kuò)展名

            $filename = 'a.bc.cd.png';     echo substr(strrchr($filename, '.'),1);//png

        strtoupper轉(zhuǎn)大寫

        strtolower轉(zhuǎn)小寫

            $str1 = 'html';     $str2 = 'PHP';     echo strtoupper($str1) , strtolower($str2);//HTMLphp

        ucfirst句子首字母大寫

        ucwords單詞首字母大寫

            $str3 = 'this is a test';     echo ucfirst($str3) , ucwords($str3);

        substr截取字符串

        負(fù)數(shù)=字符串長(zhǎng)度+該負(fù)數(shù)

            $str = 'javascript';     echo strlen($str);//10     echo substr($str, 0,4) ;//java     echo substr($str, 4);//script     echo substr($str, -2);//pt   -2=10-2=8     echo substr($str, -5,-2) , "n";//cri   -5,-2=5,8

        將字符串轉(zhuǎn)為Zend_Controller_Front

           $str = 'ZenD_CONTRollER_FronT';     //1.轉(zhuǎn)換小寫     $str1 = strtolower($str);     //2.將下劃線替換成空格     $str2 = str_replace('_', ' ', $str1);     //3.通過(guò)ucwords進(jìn)行首字母大寫操作     $str3 = ucwords($str2);     //4.將空格替換成下劃線     $str4 = str_replace(' ', '_', $str3);     echo $str4;//Zend_Controller_Front
        floor() ceil()     $x = 2.7;     $y = 3.01;     echo floor($x) , '<br/><br/>';//2 向下取整     echo ceil($y) , '<br/><br/>';//4 向上取整

        假設(shè)記錄數(shù)為X,每頁(yè)顯示Y條記錄,求總頁(yè)數(shù)z

          z = ceil(X/Y);

        fmod()對(duì)浮點(diǎn)數(shù)取模

            echo fmod(7.8,3) , '<br/>';//1.8

        對(duì)整數(shù)取模

            echo 7.8 % 3 ; //整數(shù)余數(shù)的操作//1

        格式化數(shù)字

            $x = 7896.827;     echo number_format($x) , '<br/><br/>';//7,897     echo number_format($x,2) , '<br/><br/>';//7,896.83

        pow()冪操作 sqrt()平方根操作

            echo pow(2,3);//8     echo sqrt(4) ;//2

        mt_rand()是更好的隨機(jī)數(shù)生成器,因?yàn)樗鷕and()相比播下了一個(gè)更好地隨機(jī)數(shù)種子;而且性能上比rand()快4倍

            echo rand(50,80);     echo mt_rand(10,99);

        生成四位數(shù)隨機(jī)驗(yàn)證碼

          $chars = 'abcdefghijlmnopqrstuvwxyz789654321';     $len = strlen($chars);     for($i=0;$i<4;$i++){         $char .= substr($chars,mt_rand(0,$len-1),1);     }     echo $char;

        round()四舍五入

            $x = 7.238;     echo round($x);//7     echo round($x,2);//7.24

        strtotime字符串轉(zhuǎn)時(shí)間

           echo '當(dāng)前日期:'  , date('Y-m-d') , "n";//2020-01-10     echo '下個(gè)月的日期:' , date('Y-m-d', strtotime('1 month')) , "n";//2020-02-10     echo '上個(gè)月最后一天:' , date('Y-m-d H:i:s',strtotime('last day of -1 month')) , "n";//2019-12-31 10:39:12     echo '上個(gè)月最后一天零點(diǎn):' , date('Y-m-d H:i:s', strtotime("midnight last day of -1 month")) , "n"; //2019-12-31 00:00:00     echo '昨天零點(diǎn):' ,  date('Y-m-d H:i:s',strtotime('yesterday')) , "n";//2020-01-09 00:00:00     echo '現(xiàn)在:' ,  date('Y-m-d H:i:s',strtotime('now')) , "n";//2020-01-10 10:39:12     echo '三個(gè)星期之間的時(shí)間戳是:' ,  strtotime('-3 weeks');//三個(gè)星期之間的時(shí)間戳是:1576810790     echo (time() -  strtotime('-3 weeks'))/86400 ;//21  間隔時(shí)間     echo '上個(gè)月:'.date('Y-m-d H:i:s',strtotime('-1 month')) ; //上個(gè)月:2019-12-10 10:59:50     echo '上個(gè)月的第一天:'.date('Y-m-d H:i:s',strtotime('first day of -1 month'));//上個(gè)月的第一天:2019-12-01 10:59:50

        返回當(dāng)前本地的日期/時(shí)間的日期/時(shí)間信息

            print_r(getdate());     //Array     //(     //    [seconds] => 3     //    [minutes] => 42     //    [hours] => 10     //    [mday] => 10     //    [wday] => 5     //    [mon] => 1     //    [year] => 2020     //    [yday] => 9     //    [weekday] => Friday     //[month] => January     //[0] => 1578624123     //)

        microtime()返回當(dāng)前 Unix 時(shí)間戳的微秒數(shù)

            echo microtime();//0.41369400 1578624195

        當(dāng)設(shè)置為 TRUE 時(shí),規(guī)定函數(shù)應(yīng)該返回一個(gè)浮點(diǎn)數(shù),否則返回一個(gè)字符串;默認(rèn)為 FALSE

          echo microtime(true);//1578624195.4137

        計(jì)算程序運(yùn)行時(shí)間

            $start = microtime(true);     $sum = 0;     for ($i=0; $i <1000000 ; $i++) {          $sum += $i;     }     $end = microtime(true);     echo  '共花費(fèi)' , round($end - $start,3) , '秒';//共花費(fèi)0.016秒
        time()     echo time() ;//1578625294     echo '當(dāng)前的日期時(shí)間是:' , date('Y-m-d H:i:s') ;//當(dāng)前的日期時(shí)間是:2020-01-10 11:01:34     echo '昨天的日期時(shí)間是:' , date('Y-m-d H:i:s',time()-86400) ; //24*60*60 //昨天的日期時(shí)間是:2020-01-09 11:01:34

        uniqid() 函數(shù)基于以微秒計(jì)的當(dāng)前時(shí)間,生成一個(gè)唯一的 ID

            echo uniqid();//5e17e94f8a19b     echo uniqid('abc');//abc5e17e96c1771e     echo uniqid(microtime());//0.09603300 15786253885e17e96c17727     echo uniqid(microtime() . mt_rand()); //mt_rand(100,999);//0.09604200 15786253884744704985e17e96c1772f     //uuid 8-4-4-4-12 = 32     echo md5(uniqid(microtime() . mt_rand()));//cf6333288fcb04f60fbbedafd127201e
        session     session_start();     echo session_id();//bp99jhu204h6vi214ttgcjce80

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 久久精品国产亚洲AV不卡| 久久精品蜜芽亚洲国产AV| 午夜精品久久久久久中宇| 在线欧美v日韩v国产精品v| 亚洲国产精品久久久天堂| 国产成人精品cao在线| 97久久久久人妻精品专区| 尤物yw午夜国产精品视频| 国产精品视频不卡| 国产在线精品网址你懂的| 久久精品a亚洲国产v高清不卡| 日本五区在线不卡精品| 99爱在线视频这里只有精品| 91视频国产精品| 精品人妻系列无码天堂| 亚洲人成电影网站国产精品| 国产精品熟女福利久久AV | 无码aⅴ精品一区二区三区浪潮| 国产精品原创巨作?v网站| 欧洲精品视频在线观看| 国产精品一区二区久久精品| 国产精品久久久久jk制服| 久久久久久亚洲Av无码精品专口| 亚洲精品无码永久在线观看| 久久久久亚洲精品无码网址| 国产精品欧美久久久久无广告 | 人妻一区二区三区无码精品一区| 国产精品 91 第一页| 国产成人亚洲精品影院| 成人亚洲日韩精品免费视频| 久久精品国产精品青草app| 国产成人精品日本亚洲网址| 97精品国产手机| 国产精品自拍一区| 久久精品无码一区二区三区| 久久久九九有精品国产| 久久精品国产影库免费看| 久久se精品一区精品二区| 欧美视频精品一区二区三区| 热re99久久精品国产99热| 99亚洲精品视频|