這篇文章將為大家詳細講解有關(guān)PHP中怎么自定系統(tǒng)函數(shù)庫,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
成都創(chuàng)新互聯(lián)公司專注于海棠企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站開發(fā),商城系統(tǒng)網(wǎng)站開發(fā)。海棠網(wǎng)站建設(shè)公司,為海棠等地區(qū)提供建站服務(wù)。全流程按需定制網(wǎng)站,專業(yè)設(shè)計,全程項目跟蹤,成都創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)全局變量
$n = 5; //全局變量 function fun1(){ global $n; echo '我在函數(shù)體內(nèi)也可以調(diào)用全局變量n,它的值是:' , $n;//5 $n++; } fun1(); echo '
'; echo $n;//6
$n = 6; function fun1(){ echo '變量的值是:' , $GLOBALS['n']; $GLOBALS['n']++; } fun1(); echo $GLOBALS['n'];
不使用循環(huán)語句,來計算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 , '
';//4
獲得擴展名
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
獲取擴展名:
方法一
$filename = 'ab.cd.gif.JpEg'; //gepj.fig.dc.ba $num = strrpos($filename, '.'); echo strtolower(substr($filename, $num+1)) , '
';//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實體
$str = "A>B,B通過str_replace進行轉(zhuǎn)換
$str1 = str_replace('&', '&', $str); //必須是第一階梯 $str2 = str_replace('>', '>', $str1); $str2 = str_replace('<', '<', $str2); $str2 = str_replace('"', '"', $str2); $str2 = str_replace('\'', ''', $str2); echo $str2;//A>B,B<C,Tom&John,He said:"I'm OK"str_ireplace不區(qū)分大小寫
$str = 'javascript'; echo str_ireplace('A', 'b', $str);//jbvbscript隨機地打亂字符串中的所有字符
$str = 'abcdefghijklmnopqrstuvwxyz'; $str = str_shuffle($str); echo substr($str,0,4);//drifstrlen獲得字符長度
$str1 = NULL;//0 $str2 = 'AB';//2 $str3 = '中國';//6 一個中文3個字符 echo strlen($str1) , strlen($str2) , strlen($str3);stripos不區(qū)分大小寫,字符串從0開始編號,如果沒有出現(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獲取擴展名
$filename = 'a.bc.cd.png'; echo substr(strrchr($filename, '.'),1);//pngstrtoupper轉(zhuǎn)大寫
strtolower轉(zhuǎn)小寫
$str1 = 'html'; $str2 = 'PHP'; echo strtoupper($str1) , strtolower($str2);//HTMLphpucfirst句子首字母大寫
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進行首字母大寫操作 $str3 = ucwords($str2); //4.將空格替換成下劃線 $str4 = str_replace(' ', '_', $str3); echo $str4;//Zend_Controller_Frontfloor() ceil() $x = 2.7; $y = 3.01; echo floor($x) , '
';//2 向下取整 echo ceil($y) , '
';//4 向上取整假設(shè)記錄數(shù)為X,每頁顯示Y條記錄,求總頁數(shù)z
z = ceil(X/Y);fmod()對浮點數(shù)取模
echo fmod(7.8,3) , '
';//1.8對整數(shù)取模
echo 7.8 % 3 ; //整數(shù)余數(shù)的操作//1格式化數(shù)字
$x = 7896.827; echo number_format($x) , '
';//7,897 echo number_format($x,2) , '
';//7,896.83pow()冪操作 sqrt()平方根操作
echo pow(2,3);//8 echo sqrt(4) ;//2mt_rand()是更好的隨機數(shù)生成器,因為它跟rand()相比播下了一個更好地隨機數(shù)種子;而且性能上比rand()快4倍
echo rand(50,80); echo mt_rand(10,99);生成四位數(shù)隨機驗證碼
$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.24strtotime字符串轉(zhuǎn)時間
echo '當(dāng)前日期:' , date('Y-m-d') , "\n";//2020-01-10 echo '下個月的日期:' , date('Y-m-d', strtotime('1 month')) , "\n";//2020-02-10 echo '上個月最后一天:' , date('Y-m-d H:i:s',strtotime('last day of -1 month')) , "\n";//2019-12-31 10:39:12 echo '上個月最后一天零點:' , date('Y-m-d H:i:s', strtotime("midnight last day of -1 month")) , "\n"; //2019-12-31 00:00:00 echo '昨天零點:' , 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 '三個星期之間的時間戳是:' , strtotime('-3 weeks');//三個星期之間的時間戳是:1576810790 echo (time() - strtotime('-3 weeks'))/86400 ;//21 間隔時間 echo '上個月:'.date('Y-m-d H:i:s',strtotime('-1 month')) ; //上個月:2019-12-10 10:59:50 echo '上個月的第一天:'.date('Y-m-d H:i:s',strtotime('first day of -1 month'));//上個月的第一天:2019-12-01 10:59:50返回當(dāng)前本地的日期/時間的日期/時間信息
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ù)
echo microtime();//0.41369400 1578624195當(dāng)設(shè)置為 TRUE 時,規(guī)定函數(shù)應(yīng)該返回一個浮點數(shù),否則返回一個字符串;默認(rèn)為 FALSE
echo microtime(true);//1578624195.4137計算程序運行時間
$start = microtime(true); $sum = 0; for ($i=0; $i <1000000 ; $i++) { $sum += $i; } $end = microtime(true); echo '共花費' , round($end - $start,3) , '秒';//共花費0.016秒time() echo time() ;//1578625294 echo '當(dāng)前的日期時間是:' , date('Y-m-d H:i:s') ;//當(dāng)前的日期時間是:2020-01-10 11:01:34 echo '昨天的日期時間是:' , date('Y-m-d H:i:s',time()-86400) ; //24*60*60 //昨天的日期時間是:2020-01-09 11:01:34uniqid() 函數(shù)基于以微秒計的當(dāng)前時間,生成一個的 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()));//cf6333288fcb04f60fbbedafd127201esession session_start(); echo session_id();//bp99jhu204h7vi214ttgcjce80關(guān)于PHP中怎么自定系統(tǒng)函數(shù)庫就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
新聞標(biāo)題:PHP中怎么自定系統(tǒng)函數(shù)庫-創(chuàng)新互聯(lián)
URL網(wǎng)址:http://weahome.cn/article/jsggj.html