PHP系統(tǒng)函數(shù)和自定義函數(shù)的使用方法-創(chuàng)新互聯(lián)

全局變量

成都創(chuàng)新互聯(lián)公司2013年至今,先為懷化等服務(wù)建站,懷化等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為懷化企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。
  $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)語句,來計(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ù)庫

字符串轉(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 = "\n\n\t\tABC\t\t";
    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;

通過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獲得字符長度

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

stripos不區(qū)分大小寫,字符串從0開始編號(hào),如果沒有出現(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ù)=字符串長度+該負(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.通過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條記錄,求總頁數(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();//bp99jhu204h7vi214ttgcjce80

以上就是PHP自定義函數(shù)+系統(tǒng)函數(shù)庫(代碼示例)的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!

當(dāng)前標(biāo)題:PHP系統(tǒng)函數(shù)和自定義函數(shù)的使用方法-創(chuàng)新互聯(lián)
鏈接分享:http://www.muchs.cn/article36/cdjgpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì)公司、域名注冊(cè)、網(wǎng)站策劃靜態(tài)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)