亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

php基本函數匯總

2024-09-04 11:42:31
字體:
來源:轉載
供稿:網友

本文給大家匯總了16個常見的php基本函數,涵蓋的面很廣,這里推薦給大家,希望對大家學習php能夠有所幫助。

1.統計數組元素個數

  1. $arr = array
  2.    '1011,1003,1008,1001,1000,1004,1012'
  3.    '1009'
  4.    '1011,1003,1111' 
  5.   ); 
  6. $result = array(); 
  7. foreach ($arr as $str) { 
  8.  $str_arr = explode(','$str); 
  9.  foreach ($str_arr as $v) { 
  10.   // $result[$v] = isset($result[$v]) ? $result[$v] : 0; 
  11.   // $result[$v] = $result[$v] + 1; 
  12.   $result[$v] = isset($result[$v]) ? $result[$v]+1 : 1; 
  13.  } 
  14. print_r($result); 
  15. //Array 
  16. [1011] => 2 
  17. [1003] => 2 
  18. [1008] => 1 
  19. [1001] => 1 
  20. [1000] => 1 
  21. [1004] => 1 
  22. [1012] => 1 
  23. [1009] => 1 
  24. [1111] => 1 

2. 循環刪除目錄

  1. function cleanup_directory($dir) { 
  2.  foreach (new DirectoryIterator($diras $file) { 
  3.   if ($file->isDir()) { 
  4.    if (! $file->isDot()) { 
  5.     cleanup_directory($file->getPathname()); 
  6.    } 
  7.   } else { 
  8.     unlink($file->getPathname()); 
  9.   } 
  10.  } 
  11.   rmdir($dir); 

3.無限極分類生成樹

  1. function generateTree($items){ 
  2.   $tree = array(); 
  3.   foreach($items as $item){ 
  4.     if(isset($items[$item['pid']])){ 
  5.       $items[$item['pid']]['son'][] = &$items[$item['id']]; 
  6.     }else
  7.       $tree[] = &$items[$item['id']]; 
  8.     } 
  9.   } 
  10.   return $tree
  11. function generateTree2($items){ 
  12.   foreach($items as $item
  13.     $items[$item['pid']]['son'][$item['id']] = &$items[$item['id']]; 
  14.   return isset($items[0]['son']) ? $items[0]['son'] : array(); 
  15.  
  16. $items = array
  17.   1 => array('id' => 1, 'pid' => 0, 'name' => '安徽省'), 
  18.   2 => array('id' => 2, 'pid' => 0, 'name' => '浙江省'), 
  19.   3 => array('id' => 3, 'pid' => 1, 'name' => '合肥市'), 
  20.   4 => array('id' => 4, 'pid' => 3, 'name' => '長豐縣'), 
  21.   5 => array('id' => 5, 'pid' => 1, 'name' => '安慶市'), 
  22. ); 
  23. print_r(generateTree($items)); 
  24. /** 
  25.  * 如何取數據格式化的樹形數據 
  26.  */ 
  27. $tree = generateTree($items); 
  28. function getTreeData($tree){ 
  29.   foreach($tree as $t){ 
  30.     echo $t['name'].'<br>'
  31.     if(isset($t['son'])){ 
  32.       getTreeData($t['son']); 
  33.     } 
  34.   } 

4.數組排序 a - b 是數字數組寫法 遇到字符串的時候就要

  1. var test = ['ab''ac''bd''bc']; 
  2. test.sort(function(a, b) { 
  3.   if(a < b) { 
  4.     return -1; 
  5.   } 
  6.  
  7.   if(a > b) { 
  8.     return 1; 
  9.   } 
  10.  
  11.   return 0; 
  12. }); 

5.array_reduce

  1. $raw = [1,2,3,4,5,]; 
  2. // array_reduce 的第三個參數是 $result 的初始值 
  3. array_reduce($rawfunction($result$value) { 
  4.   $result[$value] = $value
  5.  
  6.   return $result
  7. }, []); 
  8. // [1 => 1, 2 => 2, ... 5 => 5] 

6.array_map 閉包中只接受一個或者多個參數,閉包的參數數量和 array_map 本身的參數數量必須一致

  1. $input = ['key' => 'value']; 
  2. array_map(function($key$value) { 
  3.  
  4.   echo $key . $value
  5. }, array_keys($input), $input
  6. // 'keyvalue' 
  7. $double = function($item) { 
  8.  return 2 * $item
  9.  
  10. $result = array_map($double, [1,2,3]); 
  11.  
  12. // 2 4 6 

7.繁殖兔子

  1. $month = 12; 
  2.   $fab = array(); 
  3.  
  4.   $fab[0] = 1; 
  5.   $fab[1] = 1; 
  6.  
  7.    for ($i = 2; $i < $month$i++) 
  8.    { 
  9.      $fab[$i] = $fab[$i - 1] + $fab[$i - 2]; 
  10.    } 
  11.  
  12.    for ($i = 0; $i < $month$i++) 
  13.    { 
  14.      echo sprintf("第{%d}個月兔子為:{%d}",$i$fab[$i])."<br/>"
  15.    } 

8 .datetime

  1. function getCurMonthFirstDay($date
  2.   return date('Y-m-01'strtotime($date)); 
  3.  getCurMonthLastDay('2015-07-23'
  4. function getCurMonthLastDay($date
  5.   return date('Y-m-d'strtotime(date('Y-m-01'strtotime($date)) . ' +1 month -1 day')); 

9.加密解密

  1. function encrypt($data$key
  2.   $key  =  md5($key); 
  3.   $x   =  0; 
  4.   $len  =  strlen($data); 
  5.   $l   =  strlen($key); 
  6.   $char  =  ''
  7.   for ($i = 0; $i < $len$i++) 
  8.   { 
  9.     if ($x == $l
  10.     { 
  11.       $x = 0; 
  12.     } 
  13.     $char .= $key{$x}; 
  14.     $x++; 
  15.   } 
  16.   $str  =  ''
  17.   for ($i = 0; $i < $len$i++) 
  18.   { 
  19.     $str .= chr(ord($data{$i}) + (ord($char{$i})) % 256); 
  20.   } 
  21.   return base64_encode($str); 
  22.  
  23. function decrypt($data$key
  24.   $key = md5($key); 
  25.   $x = 0; 
  26.   $data = base64_decode($data); 
  27.   $len = strlen($data); 
  28.   $l = strlen($key); 
  29.   $char = ''
  30.   for ($i = 0; $i < $len$i++) 
  31.   { 
  32.     if ($x == $l
  33.     { 
  34.       $x = 0; 
  35.     } 
  36.     $char .= substr($key$x, 1); 
  37.     $x++; 
  38.   } 
  39.   $str = ''
  40.   for ($i = 0; $i < $len$i++) 
  41.   { 
  42.     if (ord(substr($data$i, 1)) < ord(substr($char$i, 1))) 
  43.     { 
  44.       $str .= chr((ord(substr($data$i, 1)) + 256) - ord(substr($char$i, 1))); 
  45.     } 
  46.     else 
  47.     { 
  48.       $str .= chr(ord(substr($data$i, 1)) - ord(substr($char$i, 1))); 
  49.     } 
  50.   } 
  51.   return $str

10 . 多維數組降級

  1. function array_flatten($arr) { 
  2.   $result = []; 
  3.  
  4.   array_walk_recursive($arrfunction($valueuse (&$result) { 
  5.     $result[] = $value
  6.   }); 
  7.  
  8.   return $result
  9. print_r(array_flatten([1,[2,3],[4,5]]));// [1,[2,3],[4,5]] => [1,2,3,4,5] 
  10. // var new_array = old_array.concat(value1[, value2[, ...[, valueN]]]) 
  11. var test = [1,2,3,[4,5,6],[7,8]]; 
  12. [].concat.apply([], test); // [1,2,3,4,5,6,7,8] 對于 test 數組中的每一個 value, 將它 concat 到空數組 [] 中去,而因為 concat 是 Array 的 prototype,所以我們用一個空 array 作載體 
  13. var test1 = [1,2,[3,[4,[5]]]]; 
  14.  
  15. function flatten(arr) { 
  16.   return arr.reduce(function(pre, cur) { 
  17.     if(Array.isArray(cur)) { 
  18.       return flatten(pre.concat(cur)); 
  19.     } 
  20.  
  21.     return pre.concat(cur); 
  22.   }, []); 
  23.  
  24. // [1,2,3,4,5] 
  25. json_encode中文 
  26. function json_encode_wrapper ($result
  27.   if(defined('JSON_UNESCAPED_UNICODE')){ 
  28.     return json_encode($result,JSON_UNESCAPED_UNICODE|JSON_NUMERIC_CHECK); 
  29.   }else { 
  30.     return preg_replace( 
  31.       array("#///u([0-9a-f][0-9a-f][0-9a-f][0-9a-f])#ie""//"(/d+)/"/",), 
  32.       array("iconv('UCS-2', 'UTF-8', pack('H4', '//1'))""//1"), 
  33.       json_encode($result
  34.     ); 
  35.   } 

12.二維數組去重

  1. $arr = array
  2.  
  3.   array('id'=>'2','title'=>'...','ding'=>'1','jing'=>'1','time'=>'...','url'=>'...','dj'=>'...'), 
  4.  
  5.   array('id'=>'2','title'=>'...','ding'=>'1','jing'=>'1','time'=>'...','url'=>'...','dj'=>'...'
  6.  
  7. ); 
  8. function about_unique($arr=array()){  
  9.   /*將該種二維數組看成一維數組,則   該一維數組的value值有相同的則干掉只留一個,并將該一維   數組用重排后的索引數組返回,而返回的一維數組中的每個元素都是   原始key值形成的關聯數組  */  
  10. $keys =array(); 
  11.   $temp = array(); 
  12.   foreach($arr[0] as $k=>$arrays) { 
  13.   /*數組記錄下關聯數組的key值*/   
  14.   $keys[] = $k
  15.   } 
  16.   //return $keys;  /*降維*/   
  17. foreach($arr as $k=>$v) { 
  18.   $v = join(",",$v); //降維    
  19.   $temp[] = $v
  20.   } 
  21.   $temp = array_unique($temp); //去掉重復的內容   
  22. foreach ($temp as $k => $v){ 
  23.   /*再將拆開的數組按索引數組重新組裝*/   
  24.   $temp[$k] = explode(",",$v);  
  25.   }  
  26.   //return $temp;  /*再將拆開的數組按關聯數組key值重新組裝*/   
  27. foreach($temp as $k=>$v) { 
  28.   foreach($v as $kkk=>$ck) { 
  29.    $data[$k][$keys[$kkk]] = $temp[$k][$kkk]; 
  30.   } 
  31.   } 
  32.   return $data
  33.  } 

13.格式化字節大小

  1. /** 
  2. * 格式化字節大小 
  3. * @param number $size   字節數 
  4. * @param string $delimiter 數字和單位分隔符 
  5. * @return string      格式化后的帶單位的大小 
  6. * @author  
  7. */ 
  8. function format_bytes($size$delimiter = '') { 
  9.  $units = array('B''KB''MB''GB''TB''PB'); 
  10.  for ($i = 0; $size >= 1024 && $i < 6; $i++) $size /= 1024; 
  11.  return round($size, 2) . $delimiter . $units[$i]; 

14.3分鐘前

  1. /** 
  2. * 將指定時間戳轉換為截止當前的xx時間前的格式 例如 return '3分鐘前'' 
  3. * @param string|int $timestamp unix時間戳 
  4. * @return string 
  5. */ 
  6. function time_ago($timestamp) { 
  7.   $etime = time() - $timestamp
  8.   if ($etime < 1) return '剛剛';    
  9.   $interval = array (      
  10.    12 * 30 * 24 * 60 * 60 => '年前 ('.date('Y-m-d'$timestamp).')'
  11.    30 * 24 * 60 * 60    => '個月前 ('.date('m-d'$timestamp).')'
  12.    7 * 24 * 60 * 60    => '周前 ('.date('m-d'$timestamp).')'
  13.    24 * 60 * 60      => '天前'
  14.    60 * 60         => '小時前'
  15.    60           => '分鐘前'
  16.    1            => '秒前' 
  17.   ); 
  18.   foreach ($interval as $secs => $str) { 
  19.     $d = $etime / $secs
  20.     if ($d >= 1) { 
  21.       $r = round($d); 
  22.       return $r . $str
  23.     } 
  24.   }; 

15.身份證號

  1. /** 
  2. * 判斷參數字符串是否為天朝身份證號 
  3. * @param $id 需要被判斷的字符串或數字 
  4. * @return mixed false 或 array[有內容的array boolean為真] 
  5. */ 
  6. function is_citizen_id($id) { 
  7.   //長度效驗 18位身份證中的X為大寫 
  8.   $id = strtoupper($id); 
  9.   if(!(preg_match('/^/d{17}(/d|X)$/',$id) || preg_match('/^/d{15}$/',$id))) { 
  10.    return false; 
  11.   } 
  12.   //15位老號碼轉換為18位 并轉換成字符串 
  13.   $Wi     = array(7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2, 1);  
  14.   $Ai     = array('1''0''X''9''8''7''6''5''4''3''2');  
  15.   $cardNoSum  = 0; 
  16.   if(strlen($id)==16) { 
  17.     $id    = substr(0, 6).'19'.substr(6, 9);  
  18.     for($i = 0; $i < 17; $i++) { 
  19.      $cardNoSum += substr($id,$i,1) * $Wi[$i]; 
  20.     }  
  21.     $seq    = $cardNoSum % 11;  
  22.     $id    = $id.$Ai[$seq]; 
  23.   } 
  24.   //效驗18位身份證最后一位字符的合法性 
  25.   $cardNoSum  = 0; 
  26.   $id17    = substr($id,0,17); 
  27.   $lastString = substr($id,17,1); 
  28.   for($i = 0; $i < 17; $i++) { 
  29.     $cardNoSum += substr($id,$i,1) * $Wi[$i]; 
  30.   }  
  31.   $seq     = $cardNoSum % 11; 
  32.   $realString = $Ai[$seq]; 
  33.   if($lastString!=$realString) {return false;} 
  34.   //地域效驗 
  35.   $oCity    = array(11=>"北京",12=>"天津",13=>"河北",14=>"山西",15=>"內蒙古",21=>"遼寧",22=>"吉林",23=>"黑龍江",31=>"上海",32=>"江蘇",33=>"浙江",34=>"安徽",35=>"福建",36=>"江西",37=>"山東",41=>"河南",42=>"湖北",43=>"湖南",44=>"廣東",45=>"廣西",46=>"海南",50=>"重慶",51=>"四川",52=>"貴州",53=>"云南",54=>"西藏",61=>"陜西",62=>"甘肅",63=>"青海",64=>"寧夏",65=>"新疆",71=>"臺灣",81=>"香港",82=>"澳門",91=>"國外"); 
  36.   $City    = substr($id, 0, 2); 
  37.   $BirthYear  = substr($id, 6, 4); 
  38.   $BirthMonth = substr($id, 10, 2); 
  39.   $BirthDay  = substr($id, 12, 2); 
  40.   $Sex     = substr($id, 16,1) % 2 ;//男1 女0 
  41.   //$Sexcn    = $Sex?'男':'女'; 
  42.   //地域驗證 
  43.   if(is_null($oCity[$City])) {return false;} 
  44.   //出生日期效驗 
  45.   if($BirthYear>2078 || $BirthYear<1900) {return false;} 
  46.   $RealDate  = strtotime($BirthYear.'-'.$BirthMonth.'-'.$BirthDay); 
  47.   if(date('Y',$RealDate)!=$BirthYear || date('m',$RealDate)!=$BirthMonth || date('d',$RealDate)!=$BirthDay) { 
  48.     return false; 
  49.   } 
  50.   return array('id'=>$id,'location'=>$oCity[$City],'Y'=>$BirthYear,'m'=>$BirthMonth,'d'=>$BirthDay,'sex'=>$Sex); 

16.獲取二維數組中某個key的集合

  1. $user = array( 0 => array'id' => 1, 'name' => '張三''email' => 'zhangsan@sina.com', ), 1 => array'id' => 2, 'name' => '李四''email' => 'lisi@163.com', ), 2 => array'id' => 5, 'name' => '王五''email' => '10000@qq.com', ), ...... ); 
  2. $ids = array(); $ids = array_map('array_shift'$user); 
  3. $ids = array_column($user'id');//php5.5 
  4. $names = array(); $names = array_reduce($user, create_function('$v,$w''$v[$w["id"]]=$w["name"];return $v;')); 

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美最顶级丰满的aⅴ艳星| 成人国产在线激情| 久久久精品中文字幕| 黑人巨大精品欧美一区二区一视频| 亚洲黄色www网站| 国产精品久久久久久久久免费| 日韩精品中文字幕有码专区| 不卡av电影院| 久久久亚洲福利精品午夜| 国产日韩欧美在线观看| 日韩在线小视频| 欧美日韩国产999| 97国产真实伦对白精彩视频8| 97视频在线观看成人| 91爱视频在线| 久久影视电视剧免费网站清宫辞电视| 亚洲精品国产精品自产a区红杏吧| 亚洲午夜精品视频| 精品国产一区二区三区四区在线观看| 久久成年人视频| 国产精品444| 在线视频欧美日韩| 一区二区三区四区视频| 97超碰国产精品女人人人爽| 91po在线观看91精品国产性色| 国产精品情侣自拍| 欧美日韩中文字幕| 日韩国产欧美精品一区二区三区| 久久久日本电影| 亚洲a级在线观看| 欧美裸身视频免费观看| 国产精品男人的天堂| 日韩av成人在线观看| 91免费福利视频| 欧美壮男野外gaytube| 欧美激情精品久久久久久蜜臀| 91系列在线观看| 一个人看的www欧美| 欧美精品精品精品精品免费| 亚洲视频在线播放| 日韩在线视频线视频免费网站| 久久激情五月丁香伊人| 国产精品极品尤物在线观看| 国产精品v片在线观看不卡| 亚洲精品成人av| 精品久久国产精品| 欧美在线视频播放| 亚洲va欧美va在线观看| 午夜精品久久久久久久白皮肤| 国产成人精品国内自产拍免费看| 国产日韩中文在线| 色无极影院亚洲| www.欧美精品| 少妇精69xxtheporn| 国产精品综合网站| 久久夜色精品国产亚洲aⅴ| 亚洲三级免费看| 精品国产一区二区三区四区在线观看| 中文字幕亚洲专区| 久久久精品一区二区| 欧美成年人在线观看| 色视频www在线播放国产成人| 欧美日韩精品在线视频| 国产日韩视频在线观看| 欧美亚洲国产精品| 亚洲专区在线视频| 日韩美女在线观看| 欧美日韩国产综合新一区| 国产精品夜间视频香蕉| 久久国产精品久久久久久| 国产精品国产三级国产aⅴ浪潮| 久久国产精品网站| 日韩中文字幕在线视频播放| 97色伦亚洲国产| 亚洲性生活视频在线观看| 亚洲美女av在线播放| 亚洲最大av在线| 97色在线播放视频| 亚洲精品色婷婷福利天堂| 免费99精品国产自在在线| 中文字幕日韩欧美| 日韩av影视综合网| 国产精品久久久| 亚洲欧美日韩第一区| 国产在线观看一区二区三区| 久久精品视频播放| 日韩中文字幕免费看| 亚洲电影免费观看| 欧美刺激性大交免费视频| 成人久久久久爱| 欧美一级淫片videoshd| 国产精品偷伦视频免费观看国产| 国内精品国产三级国产在线专| 亚洲精品日韩欧美| 欧美一级黑人aaaaaaa做受| 日韩欧美高清视频| 中文字幕在线国产精品| 日韩亚洲欧美成人| 精品久久久久久久久久ntr影视| 亚洲国产精品电影在线观看| 亚洲www在线观看| 欧美在线激情网| 91av成人在线| 亚洲欧洲国产一区| 亚洲国产私拍精品国模在线观看| 一区二区三区动漫| 欧美激情中文网| 成人性生交大片免费看视频直播| 午夜精品久久17c| 国产一区二区丝袜| 色悠悠国产精品| 久久精品久久久久久国产 免费| 疯狂做受xxxx高潮欧美日本| 亚洲午夜未满十八勿入免费观看全集| 欧美激情一二区| 国产精品黄页免费高清在线观看| 97碰碰碰免费色视频| 亚洲欧美制服第一页| 欧美午夜精品久久久久久久| 亚洲福利视频网站| 久久露脸国产精品| 日韩国产中文字幕| 91禁国产网站| 中文字幕日韩在线观看| 中文字幕亚洲欧美日韩2019| 成人国内精品久久久久一区| 午夜精品一区二区三区av| 韩国v欧美v日本v亚洲| 亚洲精品久久久久久久久久久| 91精品国产综合久久男男| 色综合亚洲精品激情狠狠| 日韩久久精品电影| 日韩中文视频免费在线观看| 亚洲福利在线观看| 日本成人黄色片| 国产精品久久一| 国产精品色婷婷视频| 日韩av中文字幕在线| 日韩免费在线视频| 国产日本欧美视频| 日韩成人在线播放| 日本免费在线精品| 国产精品久久久久久久久久99| 久久97久久97精品免视看| 久久亚洲私人国产精品va| 欧美日韩在线看| 91精品国产乱码久久久久久蜜臀| 黄色91在线观看| 在线亚洲午夜片av大片| 国产一区二区三区视频在线观看| 久久久免费观看| 国产拍精品一二三| 中文字幕精品视频| 97成人精品区在线播放| 精品国产鲁一鲁一区二区张丽| 91精品国产99久久久久久| 亚洲激情视频在线观看| 午夜精品久久久久久久99黑人| 久久久久久久久久久免费精品| 国产精品精品视频一区二区三区| 欧美wwwxxxx| 久久久久久亚洲精品不卡| 亚洲毛片在线观看.| 欧美一级视频免费在线观看|