項(xiàng)目中非常實(shí)用的函數(shù)

1跟狱、array_multisort()

這個(gè)函數(shù)非常強(qiáng)大,它有非常廣泛的應(yīng)用范圍世吨。它能對(duì)多個(gè)不相關(guān)的數(shù)組進(jìn)行排序澡刹,也可以使用其中的一個(gè)元素作為下次排序的基礎(chǔ),還可以對(duì)數(shù)據(jù)庫結(jié)果集進(jìn)行排序耘婚。(相當(dāng)于sql中g(shù)roupBy與orderBy組合運(yùn)用)

語法: array_multisort(array1,sorting order,sorting type,array2,array3…)
sorting order:可選的排序規(guī)則罢浇,注意要大寫
SORT_ASC : 默認(rèn)。按升序排列 (0-9沐祷,A-Z)嚷闭。
SORT_DESC : 按降序排列 (9-0,Z-A)赖临。

sorting type:可選的排序類型
SORT_REGULAR : 默認(rèn)胞锰。把每一項(xiàng)按常規(guī)順序排列(Standard ASCII,不改變類型)兢榨。
SORT_NUMERIC :把每一項(xiàng)作為數(shù)字來處理嗅榕。
SORT_STRING : 把每一項(xiàng)作為字符串來處理顺饮。

例子:

array_multisort(array_column($arr, $arg1), SORT_ASC, array_column($arr, $arg2), SORT_DESC, $arr);

可以根據(jù)二維數(shù)組里面的多個(gè)字段進(jìn)行排列組合,如例子中凌那,數(shù)組arr中可以先按arg1進(jìn)行排序兼雄,其次再按照arr中的arg2排序。

2帽蝶、round()

這個(gè)函數(shù)的作用是浮點(diǎn)數(shù)四舍五入赦肋,不知道大家留意過BC函數(shù)庫沒,里面有點(diǎn)坑励稳,就是保留小數(shù)點(diǎn)的時(shí)候不會(huì)四舍五入佃乘,直接給你砍掉,比如你要計(jì)算兩個(gè)浮點(diǎn)數(shù)的和麦锯,并且保留一位小數(shù)點(diǎn)

echo bcadd(1.17,2.22,1);
//結(jié)果為3.3

如果這樣寫得出來的結(jié)果會(huì)是3.3恕稠,而不是3.4,這時(shí)候你可以配合round來使用,代碼如下

echo round(bcadd(1.17,2.22,2),1);
//結(jié)果為3.4

3扶欣、array_slice()

這個(gè)函數(shù)的作用是在數(shù)組中根據(jù)條件取出一段值鹅巍,并返回。比較常見的地方在分頁的應(yīng)用上
語法就貼上W3SCHOOL上的料祠,懶得打字了


語法.png
//$page是當(dāng)前頁數(shù)
//$size是當(dāng)前列表頁顯示的最大數(shù)目
//$page是當(dāng)前頁數(shù)
$list = array_slice($data['list'],($page - 1) * $size,$size);

不過這個(gè)函數(shù)還可以這樣用骆捧,代碼如下

foreach ($spec as $k => $v){
  if ($v['status'] == 0 || $v['is_del'] == 1){
    unset($spec[$k]);
  }
}
$spec = array_slice($spec,0,count($spec));

這段代碼取自我做過的一個(gè)項(xiàng)目,假設(shè)spec數(shù)組有3條髓绽,那么其中的第[0]條數(shù)據(jù)不符合條件被剔除敛苇,那么spec數(shù)組中的子項(xiàng)就會(huì)變成[1]和[2],這時(shí)候我們就需要用array_slice進(jìn)行重新排序顺呕,使其子項(xiàng)的鍵名為[0]和[1]枫攀。
這時(shí)候會(huì)有人問,為什么要這樣操作株茶,放在sql里面用where條件直接篩選不就好了来涨?
確實(shí),但是這么用的目的肯定其中一個(gè)原因肯定就是不能直接用where篩選(業(yè)務(wù)復(fù)雜度很高启盛,sql寫起來不太優(yōu)雅而且容易漏掉很多情況)蹦掐,其次,盡量減少mysql的負(fù)擔(dān)僵闯,用php去處理會(huì)快很多(當(dāng)然這個(gè)沒有去實(shí)際測(cè)過卧抗,有興趣的伙伴可以去測(cè)一下然后再評(píng)論區(qū)打我的臉)。
那么就先到這吧鳖粟,以后會(huì)持續(xù)更新更多項(xiàng)目上的騷操作社裆,也歡迎各位大佬來批評(píng)指導(dǎo)!感謝大家的閱讀牺弹!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末浦马,一起剝皮案震驚了整個(gè)濱河市时呀,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌晶默,老刑警劉巖谨娜,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異磺陡,居然都是意外死亡趴梢,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門币他,熙熙樓的掌柜王于貴愁眉苦臉地迎上來坞靶,“玉大人,你說我怎么就攤上這事蝴悉≌靡酰” “怎么了?”我有些...
    開封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵拍冠,是天一觀的道長(zhǎng)尿这。 經(jīng)常有香客問我,道長(zhǎng)庆杜,這世上最難降的妖魔是什么射众? 我笑而不...
    開封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮晃财,結(jié)果婚禮上叨橱,老公的妹妹穿的比我還像新娘。我一直安慰自己断盛,他們只是感情好罗洗,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著钢猛,像睡著了一般栖博。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厢洞,一...
    開封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音典奉,去河邊找鬼躺翻。 笑死,一個(gè)胖子當(dāng)著我的面吹牛卫玖,可吹牛的內(nèi)容都是我干的公你。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼假瞬,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼陕靠!你這毒婦竟也來了迂尝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤剪芥,失蹤者是張志新(化名)和其女友劉穎垄开,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體税肪,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡溉躲,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了益兄。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片锻梳。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖净捅,靈堂內(nèi)的尸體忽然破棺而出疑枯,到底是詐尸還是另有隱情,我是刑警寧澤蛔六,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布荆永,位于F島的核電站,受9級(jí)特大地震影響古今,放射性物質(zhì)發(fā)生泄漏屁魏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一捉腥、第九天 我趴在偏房一處隱蔽的房頂上張望氓拼。 院中可真熱鬧,春花似錦抵碟、人聲如沸桃漾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽撬统。三九已至,卻和暖如春敦迄,著一層夾襖步出監(jiān)牢的瞬間恋追,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工罚屋, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留苦囱,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓脾猛,卻偏偏與公主長(zhǎng)得像撕彤,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子猛拴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 總結(jié)了一些開發(fā)中常用的函數(shù): usleep() //函數(shù)延遲代碼執(zhí)行若干微秒羹铅。 unpack() //函數(shù)從二進(jìn)制...
    ADL2022閱讀 454評(píng)論 0 3
  • PHP常用函數(shù)大全 usleep() 函數(shù)延遲代碼執(zhí)行若干微秒蚀狰。 unpack() 函數(shù)從二進(jìn)制字符串對(duì)數(shù)據(jù)進(jìn)行解...
    上街買菜丶迷倒老太閱讀 1,366評(píng)論 0 20
  • PHP數(shù)組函數(shù),摘錄于PHP手冊(cè) 1职员、array_change_key_case (PHP 4 >= 4.2.0,...
    kotlin360閱讀 706評(píng)論 2 1
  • JavaScript語言精粹 前言 約定:=> 表示參考相關(guān)文章或書籍; JS是JavaScript的縮寫麻蹋。 本書...
    微笑的AK47閱讀 580評(píng)論 0 3
  • 第5章 引用類型(返回首頁) 本章內(nèi)容 使用對(duì)象 創(chuàng)建并操作數(shù)組 理解基本的JavaScript類型 使用基本類型...
    大學(xué)一百閱讀 3,233評(píng)論 0 4