亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

一文總結常用PHP業(yè)務邏輯demo

 更新時間:2023年06月20日 09:27:21   作者:波波  
這篇文章主要為大家介紹了常用PHP業(yè)務邏輯的demo總結,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

項目開發(fā)常用業(yè)務邏輯代碼

項目開發(fā)中經(jīng)常用到的業(yè)務邏輯代碼,總結在此處,備用。

1、加密解密函數(shù):

function?encryptDecrypt($key,?$string,?$decrypt){
????if($decrypt){
????????$decrypted?=?rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256,?md5($key),?base64_decode($string),?MCRYPT_MODE_CBC,?md5(md5($key))),?"12");
????????return?$decrypted;
????}else{
????????$encrypted?=?base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256,?md5($key),?$string,?MCRYPT_MODE_CBC,?md5(md5($key))));
????????return?$encrypted;
????}
}

在使用的時候我們可以為加密的字符串,設置一個加密KEY值,解密的時候傳入這個KEY值即可獲得密文原文。$decrypt取值0和1時分別對應加密、解密。

2、上傳圖片方向糾正:

由于每個人拍照姿勢都不一樣,難免有人拍照上傳的圖片出現(xiàn)倒立的情況,下面這個業(yè)務邏輯可以自動糾正上傳圖片的方向。

$image?=?imagecreatefromstring(file_get_contents($_FILES['image_upload']['tmp_name']));
$exif?=?exif_read_data($_FILES['image_upload']['tmp_name']);
if(!emptyempty($exif['Orientation']))?{
????switch($exif['Orientation'])?{
????????case?8:
????????????$image?=?imagerotate($image,90,0);
????????????break;
????????case?3:
????????????$image?=?imagerotate($image,180,0);
????????????break;
????????case?6:
????????????$image?=?imagerotate($image,-90,0);
????????????break;
????}
}

3、拆分姓名中的姓氏和名字

/**
?*?拆分姓名(姓氏和名字)
?*?@param?string?$fullname?全名(如:百里屠蘇)
?*?@return?array?一維數(shù)組[0=>'姓氏',1=>'名稱']
?*?@return?array
?*/
function?splitName($fullname){
????$hyphenated?=?array(
????????'百里','北堂','北野','北宮','辟閭',
????????'淳于','成公','陳生','褚?guī)?,'城池',
????????'端木','東方','東郭','東野','東門','第五','大狐','段干','段陽','第二','東宮',
????????'公孫','公冶','公羊','公良','公西','公孟','公伯','公析','公肩','公堅','公乘','公皙','公戶','公廣','公儀','公祖','公玉','公仲','公上','公門','公山','高堂','高陽','郭公','谷梁','毌將','毌丘','單于','叱干','叱利','車非',
????????'獨孤','大野','獨吉','達奚','東里',
????????'哥舒','貫丘',
????????'皇甫','黃龍','胡母','何陽','赫連','呼延','賀蘭','賀若','黑齒','斛律','斛粟',
????????'夾谷','九方','即墨','吉胡',
????????'可頻',
????????'梁丘','閭丘','洛陽','陵尹','冷富','龍丘','令狐',
????????'慕容','萬俟','抹捻',
????????'納蘭','南榮',
????????'南宮','南郭','女媧','南伯','南容','南門','南野',
????????'歐陽','歐侯',
????????'濮陽','普周','仆固','仆散','蒲察',
????????'青陽','漆雕','亓官','渠丘','屈突','屈盧','鉗耳',
????????'壤駟','汝嫣',
????????'上官','少室','少叔','司徒','司馬','司空','司寇','士孫','申屠','申徒','申鮮','申叔','夙沙','叔先','叔仲','叔孫','侍其','是云','索盧','厙狄',
????????'澹臺','太史','太叔','太公','屠岸','唐古','拓跋','同蹄','禿發(fā)',
????????'聞人','巫馬','微生','王孫','無庸','完顏',
????????'夏侯','西門','信平','鮮于','軒轅','相里','新垣','徐離姓',
????????'羊舌','羊角','延陵','於陵','伊祁','吾丘','樂正','宇文','尉遲','耶律',
????????'諸葛','顓孫','仲孫','仲長','鐘離','宗政','主父','中叔','左人','左丘','宰父','長兒','仉督','長孫','子車','子書','子桑'
????);
????$vLength?=?mb_strlen($fullname,?'utf-8');
????$lastname?=?'';
????$firstname?=?'';//前為姓,后為名
????if($vLength?>?2){
????????$preTwoWords?=?mb_substr($fullname,?0,?2,?'utf-8');//取命名的前兩個字,看是否在復姓庫中
????????if(in_array($preTwoWords,?$hyphenated)){
????????????$lastname?=?$preTwoWords;
????????????$firstname?=?mb_substr($fullname,?2,?10,?'utf-8');
????????}else{
????????????$lastname?=?mb_substr($fullname,?0,?1,?'utf-8');
????????????$firstname?=?mb_substr($fullname,?1,?10,?'utf-8');
????????}
????}else?if($vLength?==?2){//全名只有兩個字時,以前一個為姓,后一下為名
????????$lastname?=?mb_substr($fullname?,0,?1,?'utf-8');
????????$firstname?=?mb_substr($fullname,?1,?10,?'utf-8');
????}else{
????????$lastname?=?$fullname;
????}
????return?array($lastname,?$firstname);
}

4、打印輸出數(shù)據(jù)到文件

/**
?*?打印輸出數(shù)據(jù)到文件
?*?@param?mixed?$data
?*?@param?bool?$replace
?*?@param?string|null?$pathname
?*/
function?p($data,?$replace?=?false,?$pathname?=?null)
{
????is_null($pathname)?&&?$pathname?=?RUNTIME_PATH?.?date('Ymd')?.?'.txt';
????$str?=?(is_string($data)???$data?:?(is_array($data)?||?is_object($data))???print_r($data,?true)?:?var_export($data,?true))?.?"\n";
????$replace???file_put_contents($pathname,?$str)?:?file_put_contents($pathname,?$str,?FILE_APPEND);
}

這個函數(shù)雖然很小巧,但是在調(diào)試一些內(nèi)部執(zhí)行數(shù)據(jù)的時候非常有用,且很方便的輸出我們要查看的數(shù)據(jù)。

5、隨機字符生成

/*
?*?隨機字符生成
?*/
function?randStr($len=6,$format='all')?{
????switch($format)?{
????????case?'all':
????????????$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-@#~';?break;
????????case?'char':
????????????$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-@#~';?break;
????????case?'number':
????????????$chars='0123456789';?break;
????????case?'charnum':
????????????$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
????????????break;
????????case?'verify':
????????????$chars='ABCDEFGHIJKMNPQRSTUVWXYZ23456789';
????????????break;
????}
????mt_srand();
????$password="";
????while(strlen($password)<$len)
????????$password.=substr($chars,(mt_rand()%strlen($chars)),1);
????return?$password;
}

6、生成唯一訂單號

/*
?*?生成唯一訂單號
?*/
function?CreateOrderId(){
????$order_id_main?=?date('YmdHis')?.?rand(10000000,99999999);
????//訂單號碼主體長度
????$order_id_len?=?strlen($order_id_main);
????$order_id_sum?=?0;
????for($i=0;?$i<$order_id_len;?$i++){
????????$order_id_sum?+=?(int)(substr($order_id_main,$i,1));
????}
????//唯一訂單號碼(YYYYMMDDHHIISSNNNNNNNNCC)
????$order_id?=?$order_id_main?.?str_pad((100?-?$order_id_sum?%?100)?%?100,2,'0',STR_PAD_LEFT);
????return?$order_id;
}

7、獲取毫秒級時間戳。

關于獲取毫秒級時間戳其實只需要一行代碼,網(wǎng)上很多人專門寫了很多函數(shù)去處理。因為毫秒級的時間戳是13位,int類會溢出。操作使用時可以以float類型或string類型均可。

$timestamp = substr(microtime(true)*1000,0,13);

8、獲取文章中的圖片

/*
?*?獲取文章圖片
?*/
function?getContentPic($content,$num='1'){
????$pattern="/<img.*?src=[\'|\"](.*?)[\'|\"].*?[\/]?>/";
????preg_match_all($pattern,htmlspecialchars_decode($content),$match);
????if(!emptyempty($match[1])?&&?$num?==?1){
????????return?$match[1][0];
????}else{
????????return?$match[1];
????}
????return?'';
}

9、重寫PHP array_push實現(xiàn)自由添加數(shù)組鍵值

/*
?*?重寫array_push
?*?@param?$array?array?目標數(shù)組
?*?@param?$value?mix?鍵值
?*?@param?$position?int?索引位置
?*?@param?$key?string?鍵名
?*?@return?Array
?*/
function?array_push_position(&$array,?$value=0,?$position,?$key?=?null)
{
????$count?=?0;
????$return?=?array();
????foreach?($array?as?$k?=>?$v)
????{
????????if?($count?==?$position)
????????{
????????????if?(!$key)?$key?=?$count;
????????????$return[$key]?=?$value;
????????????$inserted?=?true;
????????}
????????$return[$k]?=?$v;
????????$count++;
????}
????if?(!$key)?$key?=?$count;
????if?(!$inserted)?$return[$key];
????$array?=?$return;
????return?$array;
}

10、修改XML文件節(jié)點

(可以很方便的生成網(wǎng)站地圖,方便SEO優(yōu)化)

/*
?*?Xml文件增加節(jié)點
?*?@param?$filename?string?文件路徑
?*?@param?$data?array?追加數(shù)組
?*?@param?$nodename?string?節(jié)點名稱
?*?@return?boole
?*/
function?addXmlNode($filename,$data,$nodename){
????if(is_array($data)?&&?!emptyempty($data)?&&?is_file($filename)?&&?is_string($nodename)){
????????$contents?=?file_get_contents($filename);
????????$xml?=?@simplexml_load_string($contents);
????????foreach($data?as?$key=>$value){
????????????foreach($data[$key]?as?$k=>$v){
????????????????$item?=?$xml->addChild($nodename);
????????????????$item->addChild($k,$v);
????????????}
????????}
????????$xml->asXML();
????????$xmlDocument?=?new?DOMDocument('1.0');
????????$xmlDocument->preserveWhiteSpace?=?false;
????????$xmlDocument->formatOutput?=?true;
????????$xmlDocument->loadXML($xml->asXML(),LIBXML_NOERROR);
????????$res?=?file_put_contents($filename,$xmlDocument->saveXML());
????????return??$res?!==?false?true:$res;
????}else{
????????throw?new?\think\Exception('Incorrect?parameters');
????}
}

提示:上述方法基于thinkPHP的異常拋出,如果非thinkPHP框架記得自行修改上述代碼,以免報錯。我懶得改了。

11、uuid生成

生成UUID的格式:8-4-4-4-12

function?createUUID(){
????$chars?=?md5(uniqid(mt_rand(),?true));
????$uuid?=?substr?(?$chars,?0,?8?)?.?'-'
????????.?substr?(?$chars,?8,?4?)?.?'-'
????????.?substr?(?$chars,?12,?4?)?.?'-'
????????.?substr?(?$chars,?16,?4?)?.?'-'
????????.?substr?(?$chars,?20,?12?);
????return?$uuid?;
}

12、計算兩個日期中間相差多少年多少月多少天多少小時

function?diffTimes($stime=null){
????$stime?=?emptyempty($stime)?time():strtotime($stime);
????$now?=?time();
????//$dateMonthOne?=?explode('-',?date('Y-m',?$stime));
????//$dateMonthTwo?=?explode('-',?date('Y-m',?$now));
????$diff?=?[];
????$diff['hours']?=?($now?-?$stime)?/?(60?*?60);
????//$diff['day']?=?($now?-?$stime)?/?(60?*?60?*?24);
????//$diff['month']?=?abs($dateMonthOne[0]?-?$dateMonthTwo[0])?*?12?+?abs($dateMonthOne[1]?-?$dateMonthTwo[1]);
????//$diff['year']?=?date('Y',?$now)?-?date('Y',?$stime);
????return?intval($diff['hours'])."小時";
}

13、分鐘數(shù)轉時分

function?min2hour($min){
????$hours?=?intval($min/60);
????$minutes?=?$min?%?60;
????return?$hours."小時".$minutes."分";
}

14、時間友好展示

剛剛、幾分鐘前、幾天前、幾年前

function?mdate($time?=?NULL)?{
????$text?=?'';
????$time?=?$time?===?NULL?||?$time?>?time()???time()?:?intval($time);
????$t?=?time()?-?$time;?//時間差?(秒)
????$y?=?date('Y',?$time)-date('Y',?time());//是否跨年
????switch($t){
????????case?$t?==?0:
????????????$text?=?'剛剛';
????????????break;
????????case?$t?<?60:
????????????$text?=?$t?.?'秒前';?//?一分鐘內(nèi)
????????????break;
????????case?$t?<?60?*?60:
????????????$text?=?floor($t?/?60)?.?'分鐘前';?//一小時內(nèi)
????????????break;
????????case?$t?<?60?*?60?*?24:
????????????$text?=?floor($t?/?(60?*?60))?.?'小時前';?//?一天內(nèi)
????????????break;
????????case?$t?<?60?*?60?*?24?*?3:
????????????$text?=?floor($time/(60*60*24))?==1??'昨天?'?.?date('H:i',?$time)?:?'前天?'?.?date('H:i',?$time)?;?//昨天和前天
????????????break;
????????case?$t?<?60?*?60?*?24?*?30:
????????????$text?=?date('m-d?H:i',?$time);?//一個月內(nèi)
????????????break;
????????case?$t?<?60?*?60?*?24?*?365&&$y==0:
????????????$text?=?date('m-d',?$time);?//一年內(nèi)
????????????break;
????????default:
????????????$text?=?date('Y-m-d',?$time);?//一年以前
????????????break;
????}
????return?$text;
}

15、隱藏字符串中間一部分,用*代替

function?hideStr($string,?$bengin=0,?$len?=?4,?$type?=?0,?$glue?=?"@")?{
????if?(emptyempty($string))
????????return?false;
????$array?=?array();
????if?($type?==?0?||?$type?==?1?||?$type?==?4)?{
????????$strlen?=?$length?=?mb_strlen($string);
????????while?($strlen)?{
????????????$array[]?=?mb_substr($string,?0,?1,?"utf8");
????????????$string?=?mb_substr($string,?1,?$strlen,?"utf8");
????????????$strlen?=?mb_strlen($string);
????????}
????}
????if?($type?==?0)?{
????????for?($i?=?$bengin;?$i?<?($bengin?+?$len);?$i++)?{
????????????if?(isset($array[$i]))
????????????????$array[$i]?=?"*";
????????}
????????$string?=?implode("",?$array);
????}else?if?($type?==?1)?{
????????$array?=?array_reverse($array);
????????for?($i?=?$bengin;?$i?<?($bengin?+?$len);?$i++)?{
????????????if?(isset($array[$i]))
????????????????$array[$i]?=?"*";
????????}
????????$string?=?implode("",?array_reverse($array));
????}else?if?($type?==?2)?{
????????$array?=?explode($glue,?$string);
????????$array[0]?=?hideStr($array[0],?$bengin,?$len,?1);
????????$string?=?implode($glue,?$array);
????}?else?if?($type?==?3)?{
????????$array?=?explode($glue,?$string);
????????$array[1]?=?hideStr($array[1],?$bengin,?$len,?0);
????????$string?=?implode($glue,?$array);
????}?else?if?($type?==?4)?{
????????$left?=?$bengin;
????????$right?=?$len;
????????$tem?=?array();
????????for?($i?=?0;?$i?<?($length?-?$right);?$i++)?{
????????????if?(isset($array[$i]))
????????????????$tem[]?=?$i?>=?$left???"*"?:?$array[$i];
????????}
????????$array?=?array_chunk(array_reverse($array),?$right);
????????$array?=?array_reverse($array[0]);
????????for?($i?=?0;?$i?<?$right;?$i++)?{
????????????$tem[]?=?$array[$i];
????????}
????????$string?=?implode("",?$tem);
????}
????return?$string;
}

使用說明:

第一個參數(shù)是需要轉換的字符串;

第二個參數(shù)是隱藏的起始位置,當type=4時表示左側保留長度;

第三個參數(shù)是需要隱藏的字符串個數(shù)(長度)當type=4時表示右側保留長度;

第四個參數(shù)type取值所代表的意義:0,從左向右隱藏;1,從右向左隱藏;2,從指定字符位置分割前由右向左隱藏;3,從指定字符位置分割后由左向右隱藏;4,保留首末指定字符串。

第五個參數(shù)是分隔符。

16、二維數(shù)組按指定鍵排序

function?array_msort($array,?$cols)
{
????$colarr?=?array();
????foreach?($cols?as?$col?=>?$order)?{
????????$colarr[$col]?=?array();
????????foreach?($array?as?$k?=>?$row)?{?$colarr[$col]['_'.$k]?=?strtolower($row[$col]);?}
????}
????$eval?=?'array_multisort(';
????foreach?($cols?as?$col?=>?$order)?{
????????$eval?.=?'$colarr[\''.$col.'\'],'.$order.',';
????}
????$eval?=?substr($eval,0,-1).');';
????eval($eval);
????$ret?=?array();
????foreach?($colarr?as?$col?=>?$arr)?{
????????foreach?($arr?as?$k?=>?$v)?{
????????????$k?=?substr($k,1);
????????????if?(!isset($ret[$k]))?$ret[$k]?=?$array[$k];
????????????$ret[$k][$col]?=?$array[$k][$col];
????????}
????}
????return?$ret;
}

17、Base64圖片流轉圖片文件

function?saveBase64Image($base64_image_content,$image_path){
????if?(preg_match('/^(data:\s*image\/(\w+);base64,)/',?$base64_image_content,?$result)){
????????//圖片后綴
????????$type?=?$result[2];
????????if($type=='jpeg'){
????????????$type='jpg';
????????}
????????//保存位置--圖片名
????????$image_name=date('His').str_pad(mt_rand(1,?99999),?5,?'0',?STR_PAD_LEFT).".".$type;
????????//$image_path?=?'/static/upload/quanzi/'.$memberid.'/image/';
????????$image_url?=?$image_path.$image_name;
????????if(!is_dir(ROOT_PATH.$image_path)){
????????????mkdir(ROOT_PATH.$image_path,0755,true);
????????}
????????//解碼
????????$decode=base64_decode(str_replace($result[1],?'',?$base64_image_content));
????????if?(file_put_contents(ROOT_PATH.$image_url,?$decode)){
????????????$data['code']='0';
????????????$data['imageName']=$image_name;
????????????$data['image_url']=$image_url;
????????????$data['type']=$type;
????????????$data['msg']='保存成功!';
????????}else{
????????????$data['code']='1';
????????????$data['imgageName']='';
????????????$data['image_url']='';
????????????$data['type']='';
????????????$data['msg']='圖片保存失??!';
????????}
????}else{
????????$data['code']='1';
????????$data['imgageName']='';
????????$data['image_url']='';
????????$data['type']='';
????????$data['msg']='base64圖片格式有誤!';
????}
????return?$data;
}

18、隨機昵稱

function?randnickname(){
????$tou=array('快樂','冷靜','醉熏','瀟灑','糊涂','積極','冷酷','深情','粗暴','溫柔','可愛','愉快','義氣','認真','威武','帥氣','傳統(tǒng)','瀟灑','漂亮','自然','專一','聽話','昏睡','狂野','等待','搞怪','幽默','魁梧','活潑','開心','高興','超帥','留胡子','坦率','直率','輕松','癡情','完美','精明','無聊','有魅力','豐富','繁榮','飽滿','炙熱','暴躁','碧藍','俊逸','英勇','健忘','故意','無心','土豪','樸實','興奮','幸福','淡定','不安','闊達','孤獨','獨特','瘋狂','時尚','落后','風趣','憂傷','大膽','愛笑','矮小','健康','合適','玩命','沉默','斯文','香蕉','蘋果','鯉魚','鰻魚','任性','細心','粗心','大意','甜甜','酷酷','健壯','英俊','霸氣','陽光','默默','大力','孝順','憂慮','著急','緊張','善良','兇狠','害怕','重要','危機','歡喜','欣慰','滿意','跳躍','誠心','稱心','如意','怡然','嬌氣','無奈','無語','激動','憤怒','美好','感動','激情','激昂','震動','虛擬','超級','寒冷','精明','明理','猶豫','憂郁','寂寞','奮斗','勤奮','現(xiàn)代','過時','穩(wěn)重','熱情','含蓄','開放','無辜','多情','純真','拉長','熱心','從容','體貼','風中','曾經(jīng)','追尋','儒雅','優(yōu)雅','開朗','外向','內(nèi)向','清爽','文藝','長情','平常','單身','伶俐','高大','懦弱','柔弱','愛笑','樂觀','???,'酷炫','神勇','年輕','嘮叨','瘦瘦','無情','包容','順心','暢快','舒適','靚麗','負責','背后','簡單','謙讓','彩色','縹緲','歡呼','生動','復雜','慈祥','仁愛','魔幻','虛幻','淡然','受傷','雪白','高高','糟糕','順利','閃閃','羞澀','緩慢','迅速','優(yōu)秀','聰明','含糊','俏皮','淡淡','堅強','平淡','欣喜','能干','靈巧','友好','機智','機靈','正直','謹慎','儉樸','殷勤','虛心','辛勤','自覺','無私','無限','踏實','老實','現(xiàn)實','可靠','務實','拼搏','個性','粗獷','活力','成就','勤勞','單純','落寞','樸素','悲涼','憂心','潔凈','清秀','自由','小巧','單薄','貪玩','刻苦','干凈','壯觀','和諧','文靜','調(diào)皮','害羞','安詳','自信','端莊','堅定','美滿','舒心','溫暖','專注','勤懇','美麗','靦腆','優(yōu)美','甜美','甜蜜','整齊','動人','典雅','尊敬','舒服','嫵媚','秀麗','喜悅','甜美','彪壯','強健','大方','俊秀','聰慧','迷人','陶醉','悅耳','動聽','明亮','結實','魁梧','標致','清脆','敏感','光亮','大氣','老遲到','知性','冷傲','呆萌','野性','隱形','笑點低','微笑','笨笨','難過','沉靜','火星上','失眠','安靜','純情','要減肥','迷路','爛漫','哭泣','賢惠','苗條','溫婉','發(fā)嗲','會撒嬌','貪玩','執(zhí)著','瞇瞇眼','花癡','想人陪','眼睛大','高貴','傲嬌','心靈美','愛撒嬌','細膩','天真','怕黑','感性','飄逸','怕孤獨','忐忑','高挑','傻傻','冷艷','愛聽歌','還單身','怕孤單','懵懂');
????$do?=?array("的","愛","","與","給","扯","和","用","方","打","就","迎","向","踢","笑","聞","有","等于","保衛(wèi)","演變");
????$wei=array('嚓茶','涼面','便當','毛豆','花生','可樂','燈泡','哈密瓜','野狼','背包','眼神','緣分','雪碧','人生','牛排','螞蟻','飛鳥','灰狼','斑馬','漢堡','悟空','巨人','綠茶','自行車','保溫杯','大碗','墨鏡','魔鏡','煎餅','月餅','月亮','星星','芝麻','啤酒','玫瑰','大叔','小伙','哈密瓜,數(shù)據(jù)線','太陽','樹葉','芹菜','黃蜂','蜜粉','蜜蜂','信封','西裝','外套','裙子','大象','貓咪','母雞','路燈','藍天','白云','星月','彩虹','微笑','摩托','板栗','高山','大地','大樹','電燈膽','磚頭','樓房','水池','雞翅','蜻蜓','紅牛','咖啡','機器貓','枕頭','大船','諾言','鋼筆','刺猬','天空','飛機','大炮','冬天','洋蔥','春天','夏天','秋天','冬日','航空','毛衣','豌豆','黑米','玉米','眼睛','老鼠','白羊','帥哥','美女','季節(jié)','鮮花','服飾','裙子','白開水','秀發(fā)','大山','火車','汽車','歌曲','舞蹈','老師','導師','方盒','大米','麥片','水杯','水壺','手套','鞋子','自行車','鼠標','手機','電腦','書本','奇跡','身影','香煙','夕陽','臺燈','寶貝','未來','皮帶','鑰匙','心鎖','故事','花瓣','滑板','畫筆','畫板','學姐','店員','電源','餅干','寶馬','過客','大白','時光','石頭','鉆石','河馬','犀牛','西牛','綠草','抽屜','柜子','往事','寒風','路人','橘子','耳機','鴕鳥','朋友','苗條','鉛筆','鋼筆','硬幣','熱狗','大俠','御姐','蘿莉','毛巾','期待','盼望','白晝','黑夜','大門','黑褲','鋼鐵俠','啞鈴','板凳','楓葉','荷花','烏龜','仙人掌','襯衫','大神','草叢','早晨','心情','茉莉','流沙','蝸牛','戰(zhàn)斗機','冥王星','獵豹','棒球','籃球','樂曲','電話','網(wǎng)絡','世界','中心','魚','雞','狗','老虎','鴨子','雨','羽毛','翅膀','外套','火','絲襪','書包','鋼筆','冷風','八寶粥','烤雞','大雁','音響','招牌','胡蘿卜','冰棍','帽子','菠蘿','蛋撻','香水','泥猴桃','吐司','溪流','黃豆','櫻桃','小鴿子','小蝴蝶','爆米花','花卷','小鴨子','小海豚','日記本','小熊貓','小懶豬','小懶蟲','荔枝','鏡子','曲奇','金針菇','小松鼠','小蝦米','酒窩','紫菜','金魚','柚子','果汁','百褶裙','項鏈','帆布鞋','火龍果','奇異果','煎蛋','唇彩','小土豆','高跟鞋','戒指','雪糕','睫毛','鈴鐺','手鏈','香氛','紅酒','月光','酸奶','銀耳湯','咖啡豆','小蜜蜂','小螞蟻','蠟燭','棉花糖','向日葵','水蜜桃','小蝴蝶','小刺猬','小丸子','指甲油','康乃馨','糖豆','薯片','口紅','超短裙','烏冬面','冰淇淋','棒棒糖','長頸鹿','豆芽','發(fā)箍','發(fā)卡','發(fā)夾','發(fā)帶','鈴鐺','小饅頭','小籠包','小甜瓜','冬瓜','香菇','小兔子','含羞草','短靴','睫毛膏','小蘑菇','跳跳糖','小白菜','草莓','檸檬','月餅','百合','紙鶴','小天鵝','云朵','芒果','面包','海燕','小貓咪','龍貓','唇膏','鞋墊','羊','黑貓','白貓','萬寶路','金毛','山水','音響','尊云','西安');
????$tou_num=rand(0,331);
????$do_num=rand(0,19);
????$wei_num=rand(0,327);
????$type?=?rand(0,1);
????if($type==0){
????????$username=$tou[$tou_num].$do[$do_num].$wei[$wei_num];
????}else{
????????$username=$wei[$wei_num].$tou[$tou_num];
????}
????return?$username;?//輸出生成昵稱
}

19、去除文本中指定的HTML標簽

function?strip_selected_tags($text,?$tags?=?array()){
????$args?=?func_get_args();
????$text?=?array_shift($args);
????$tags?=?func_num_args()?>?2???array_diff($args,array($text)):(array)$tags;
????foreach?($tags?as?$tag){
????????if(preg_match_all('/<'.$tag.'[^>]*>(.*)<\/'.$tag.'>/iU',?$text,?$found)){
????????????$text?=?str_replace($found[0],$found[1],$text);
????????}
????}
????return?$text;
}

20、人民幣金額友好顯示:多少萬、多少億

function?transnum($num,$type){
????//type:1單位個???2單位萬
????$result?=?array();
????$leng?=?pow(10,2);//小數(shù)位修改最后一個數(shù)字
????switch($type){
????????case?1:
????????????if($num?>=?10000){
????????????????$result['num']?=?intval(($num/10000)*$leng)/$leng;
????????????????if($result['num']?>=?10000){
????????????????????$result['num']?=?intval(($num/100000000)*$leng)/$leng;
????????????????????$result['rem']?=?"億";
????????????????}else{
????????????????????$result['rem']?=?"萬";
????????????????}
????????????}else{
????????????????$result['num']?=?intval($num*$leng)/$leng;
????????????????$result['rem']?=?"";
????????????}
????????????break;
????????case?2:
????????????if($num?>=?10000){
????????????????????$result['num']?=?intval(($num/10000)*$leng)/$leng;
????????????????????$result['rem']?=?"億";
????????????}else{
????????????????$result['num']?=?intval($num*$leng)/$leng;
????????????????$result['rem']?=?"萬";
????????????}
????????????break;
????}
????return?$result['num'].$result['rem'];
}

21、二維數(shù)組去重

/**
?*?去掉二維數(shù)組中的重復項
?*?@param?$array2D??????????數(shù)組
*?@param?$keyArray?????????還原時字段對應的key
?*?@return?array????????????去掉了重復項的數(shù)組
*/
?function?array_unique_fb($array2D,$keyArray){
????????$temp=array();
????????foreach?($array2D?as?$v){
????????????$v?=?join(",",$v);??//降維,也可以用implode,將一維數(shù)組轉換為用逗號連接的字符串
????????????$temp[]?=?$v;
????????}
?????$temp?=?array_unique($temp);????//去掉重復的字符串,也就是重復的一維數(shù)組
????????foreach?($temp?as?$k?=>?$v){
????????????//$temp[$k]?=?explode(",",$v);???//再將拆開的數(shù)組重新組裝
???????????$temp[$k]=?array_combine($keyArray?,explode(",",trim($v)));
?????}
????????return?$temp;
?}

以上就是常用PHP業(yè)務邏輯demo總結的詳細內(nèi)容,更多關于PHP業(yè)務邏輯資料請關注腳本之家其它相關文章!

相關文章

  • PHP回調(diào)函數(shù)概念與用法實例分析

    PHP回調(diào)函數(shù)概念與用法實例分析

    這篇文章主要介紹了PHP回調(diào)函數(shù)概念與用法,簡單介紹了回調(diào)函數(shù)的概念、原理,并結合實例形式分析了回調(diào)函數(shù)的相關使用技巧,需要的朋友可以參考下
    2017-11-11
  • PHP GD庫生成圖像的幾個函數(shù)總結

    PHP GD庫生成圖像的幾個函數(shù)總結

    這篇文章主要介紹了PHP GD庫生成圖像的幾個函數(shù)總結,即imagegif、imagejpeg、imagepng、imagewbmp幾個生成圖片的函數(shù),需要的朋友可以參考下
    2014-11-11
  • PHP的數(shù)組中提高元素查找與元素去重的效率的技巧解析

    PHP的數(shù)組中提高元素查找與元素去重的效率的技巧解析

    這篇文章主要介紹了PHP的數(shù)組中提高元素查找與元素去重的效率的技巧解析,文中對比了相關方法的執(zhí)行速度來總結數(shù)組中使元素查找和去重更加高效的辦法,需要的朋友可以參考下
    2016-03-03
  • php中define用法實例

    php中define用法實例

    這篇文章主要介紹了php中define用法,實例分析了php使用define定義常量的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • PHP cdata 處理(詳細介紹)

    PHP cdata 處理(詳細介紹)

    之前為項目趕進度用php 的simplexml來解析 xml, 當時發(fā)現(xiàn) simplexml不支持<![CDATA標簽, 所有處于這個標簽內(nèi)的值都沒有辦法取到
    2013-07-07
  • PHP簡單開啟curl的方法(測試可行)

    PHP簡單開啟curl的方法(測試可行)

    這篇文章主要介紹了PHP簡單開啟curl的方法,較為詳細的講述了PHP開啟curl函數(shù)庫的具體步驟與相關注意事項,需要的朋友可以參考下
    2016-01-01
  • file_get_contents獲取不到網(wǎng)頁內(nèi)容的解決方法

    file_get_contents獲取不到網(wǎng)頁內(nèi)容的解決方法

    file_get_contents獲取不到網(wǎng)頁內(nèi)容的解決方法,需要的朋友可以參考一下
    2013-03-03
  • PHP如何實現(xiàn)訂單的延時處理詳解

    PHP如何實現(xiàn)訂單的延時處理詳解

    這篇文章主要給大家介紹了關于利用PHP如何實現(xiàn)訂單的延時處理的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧。
    2017-12-12
  • php實現(xiàn)可運算的驗證碼

    php實現(xiàn)可運算的驗證碼

    這篇文章主要介紹了php如何實現(xiàn)可運算的驗證碼,代碼很詳細,值得大家學,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 百度工程師講PHP函數(shù)的實現(xiàn)原理及性能分析(二)

    百度工程師講PHP函數(shù)的實現(xiàn)原理及性能分析(二)

    這篇文章主要介紹了百度工程師講PHP函數(shù)的實現(xiàn)原理及性能分析(二),本文講解了類方法、性能對比、內(nèi)置函數(shù)和用戶函數(shù)性能對比等內(nèi)容,需要的朋友可以參考下
    2015-05-05

最新評論