成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP函數(shù)補完計劃:數(shù)組排序 array_reduce()

why_rookie / 2330人閱讀

摘要:這里的第三個參數(shù)設(shè)定了個空數(shù)組,所以它不僅作為第一個傳入自定義函數(shù)的值,也會作為的返回值給我們想要的結(jié)果以上代碼最終的返回值為原文

之前在segmentfault里提了個問題
有個數(shù)組,讓紅框里的鍵值連續(xù)0123456789而不是每次都重新0123,0123
想道用array_merge重新整合但是不知道循環(huán)該怎么寫

有位叔給出了一個超級簡單的方法,看了下 array_reduce()函數(shù),頓時開朗

關(guān)于 array_reduce()
mixed array_reduce ( array $input , callback $function [, int $initial ] )
它將$input數(shù)組分別迭代到自定義回調(diào)函數(shù)$function中去,如果設(shè)定了第一個函數(shù)$initial ,則$initial 作為第san個數(shù)組處理

eg 1

這里php4.3的版本輸出的是
Dog-Cat-Horse
而php5以后的版本輸出的是
-Dog-Cat-Horse
原因可能為5.3的版本因為就算沒有傳第三個參數(shù),也默認把空值傳到回調(diào)函數(shù)中
這樣第一次傳到my function里的值為“”和Dog

eg2

$b輸出15,幾次傳值分別為1+2,3+3,6+4,10+5
$c輸出1200,幾次傳值分別為101,102,203,604,240*5

回到最初的問題

我們來看array_reduce()的對第三個參數(shù)的官方解釋:如果指定了可選參數(shù) initial,該參數(shù)將被當成是數(shù)組中的第一個值來處理,或者如果數(shù)組為空的話就作為最終返回值。
這里的第三個參數(shù)設(shè)定了個空數(shù)組array(),所以它不僅作為第一個傳入自定義函數(shù)merge()的值,也會作為array_reduce()的返回值給我們想要的結(jié)果
以上代碼最終的返回值為
array(9) {
[0]=>
int(1)
1=>
int(2)
2=>
int(3)
[3]=>
int(4)
[4]=>
int(5)
[5]=>
int(6)
[6]=>
int(7)
[7]=>
int(8)
[8]=>
int(9)
}
原文:http://www.imotaku.net/

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/20824.html

相關(guān)文章

  • Laravel 管道流原理

    摘要:管道流原理強烈依賴函數(shù),我們先來了解下函數(shù)的使用。第二次迭代時,的值為上述返回的閉包偽代碼,的值為,返回一個閉包,當我們執(zhí)行這個閉包時,滿足,得到結(jié)果。自定義中間件為的管道流核心類在的方法中,為上述的閉包,為要通過的中間件數(shù)組,為對象。 Laravel管道流原理強烈依賴array_reduce函數(shù),我們先來了解下array_reduce函數(shù)的使用。 原標題PHP 內(nèi)置函數(shù) array_...

    Mr_zhang 評論0 收藏0
  • Laravel學習筆記之Middleware源碼解析

    摘要:學習筆記之已經(jīng)聊過使用了來設(shè)計,看源碼發(fā)現(xiàn)其巧妙用了和的一些數(shù)組函數(shù)來設(shè)計。開發(fā)環(huán)境內(nèi)置函數(shù)和看源碼之前,先看下這幾個內(nèi)置函數(shù)的使用。學習筆記之實例化源碼解析已經(jīng)聊過的實例化,得到中的變量,即的實例化對象。后面再學習下的源碼,到時見。 說明:本文主要學習Laravel的Middleware的源碼設(shè)計思想,并將學習心得分享出來,希望對別人有所幫助。Laravel學習筆記之Decorato...

    _Dreams 評論0 收藏0
  • Laravel核心解讀--中間件(Middleware)

    摘要:解析出后將進入應(yīng)用的請求對象傳遞給的方法,在方法負責處理流入應(yīng)用的請求對象并返回響應(yīng)對象。攜帶了本次迭代的值。通過這種方式讓請求對象依次流過了要通過的中間件,達到目的地的方法。 中間件(Middleware)在Laravel中起著過濾進入應(yīng)用的HTTP請求對象(Request)和完善離開應(yīng)用的HTTP響應(yīng)對象(Reponse)的作用, 而且可以通過應(yīng)用多個中間件來層層過濾請求、逐步完善...

    enda 評論0 收藏0
  • Laravel中間件原理

    摘要:直到所有中間件都執(zhí)行完畢,最后在執(zhí)行最后的即上述的方法如果上述有地方難懂的,可以參考這邊文章內(nèi)置函數(shù)在中的使用以上是在通過全局中間件時的大致流程,通過中間件和路由中間件也是一樣的,都是采用管道流操作,詳情可翻閱源碼 簡介 Laravel 中間件提供了一種方便的機制來過濾進入應(yīng)用的 HTTP 請求, 如ValidatePostSize用來驗證POST請求體大小、ThrottleReque...

    張憲坤 評論0 收藏0
  • PHP開發(fā)過程中數(shù)組匯總 [ 持續(xù)更新系列 ]

    摘要:必選規(guī)定被搜索的數(shù)組可選如果設(shè)置為,則在數(shù)組中檢查給定值的類型,默認是搜索數(shù)組中是否存在指定的值?;卣{(diào)函數(shù)接受的參數(shù)數(shù)目應(yīng)該和傳遞給函數(shù)的數(shù)組數(shù)目一致。 開發(fā)過程中經(jīng)常會使用到數(shù)組函數(shù),故特地總結(jié)出來,自己熟悉,同時供大家參考!(實例部分會抽空盡快完成) 一、目錄 array_merge(); 合并數(shù)組 array_keys(); array_filter(); in_array()...

    twohappy 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<