摘要:這里的第三個參數設定了個空數組,所以它不僅作為第一個傳入自定義函數的值,也會作為的返回值給我們想要的結果以上代碼最終的返回值為原文
之前在segmentfault里提了個問題
有個數組,讓紅框里的鍵值連續0123456789而不是每次都重新0123,0123
想道用array_merge重新整合但是不知道循環該怎么寫
有位叔給出了一個超級簡單的方法,看了下 array_reduce()函數,頓時開朗
關于 array_reduce()
mixed array_reduce ( array $input , callback $function [, int $initial ] )
它將$input數組分別迭代到自定義回調函數$function中去,如果設定了第一個函數$initial ,則$initial 作為第san個數組處理
eg 1
這里php4.3的版本輸出的是
Dog-Cat-Horse
而php5以后的版本輸出的是
-Dog-Cat-Horse
原因可能為5.3的版本因為就算沒有傳第三個參數,也默認把空值傳到回調函數中
這樣第一次傳到my function里的值為“”和Dog
eg2
$b輸出15,幾次傳值分別為1+2,3+3,6+4,10+5
$c輸出1200,幾次傳值分別為101,102,203,604,240*5
回到最初的問題
我們來看array_reduce()的對第三個參數的官方解釋:如果指定了可選參數 initial,該參數將被當成是數組中的第一個值來處理,或者如果數組為空的話就作為最終返回值。
這里的第三個參數設定了個空數組array(),所以它不僅作為第一個傳入自定義函數merge()的值,也會作為array_reduce()的返回值給我們想要的結果
以上代碼最終的返回值為
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/
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/20824.html
摘要:管道流原理強烈依賴函數,我們先來了解下函數的使用。第二次迭代時,的值為上述返回的閉包偽代碼,的值為,返回一個閉包,當我們執行這個閉包時,滿足,得到結果。自定義中間件為的管道流核心類在的方法中,為上述的閉包,為要通過的中間件數組,為對象。 Laravel管道流原理強烈依賴array_reduce函數,我們先來了解下array_reduce函數的使用。 原標題PHP 內置函數 array_...
摘要:學習筆記之已經聊過使用了來設計,看源碼發現其巧妙用了和的一些數組函數來設計。開發環境內置函數和看源碼之前,先看下這幾個內置函數的使用。學習筆記之實例化源碼解析已經聊過的實例化,得到中的變量,即的實例化對象。后面再學習下的源碼,到時見。 說明:本文主要學習Laravel的Middleware的源碼設計思想,并將學習心得分享出來,希望對別人有所幫助。Laravel學習筆記之Decorato...
摘要:解析出后將進入應用的請求對象傳遞給的方法,在方法負責處理流入應用的請求對象并返回響應對象。攜帶了本次迭代的值。通過這種方式讓請求對象依次流過了要通過的中間件,達到目的地的方法。 中間件(Middleware)在Laravel中起著過濾進入應用的HTTP請求對象(Request)和完善離開應用的HTTP響應對象(Reponse)的作用, 而且可以通過應用多個中間件來層層過濾請求、逐步完善...
摘要:直到所有中間件都執行完畢,最后在執行最后的即上述的方法如果上述有地方難懂的,可以參考這邊文章內置函數在中的使用以上是在通過全局中間件時的大致流程,通過中間件和路由中間件也是一樣的,都是采用管道流操作,詳情可翻閱源碼 簡介 Laravel 中間件提供了一種方便的機制來過濾進入應用的 HTTP 請求, 如ValidatePostSize用來驗證POST請求體大小、ThrottleReque...
摘要:必選規定被搜索的數組可選如果設置為,則在數組中檢查給定值的類型,默認是搜索數組中是否存在指定的值。回調函數接受的參數數目應該和傳遞給函數的數組數目一致。 開發過程中經常會使用到數組函數,故特地總結出來,自己熟悉,同時供大家參考!(實例部分會抽空盡快完成) 一、目錄 array_merge(); 合并數組 array_keys(); array_filter(); in_array()...
閱讀 2772·2021-11-19 11:30
閱讀 3058·2021-11-15 11:39
閱讀 1782·2021-08-03 14:03
閱讀 1985·2019-08-30 14:18
閱讀 2043·2019-08-30 11:16
閱讀 2149·2019-08-29 17:23
閱讀 2597·2019-08-28 18:06
閱讀 2533·2019-08-26 12:22