php array_walk 對(duì)數(shù)組中的每個(gè)元素應(yīng)用用戶自定義函數(shù)詳解
php array_walk 對(duì)數(shù)組中的每個(gè)元素應(yīng)用用戶自定義函數(shù)
array_walk 使用用戶自定義函數(shù)對(duì)數(shù)組中的每個(gè)元素做回調(diào)處理
基本語(yǔ)法
bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )
將用戶自定義函數(shù) funcname 應(yīng)用到 array 數(shù)組中的每個(gè)單元。
array_walk() 不會(huì)受到 array 內(nèi)部數(shù)組指針的影響。 array_walk() 會(huì)遍歷整個(gè)數(shù)組而不管指針的位置。
參數(shù)介紹:
參數(shù) | 描述 |
---|---|
array | 必需。輸入的數(shù)組。 |
funname | 必需。用戶自定義函數(shù)的名稱。典型情況下 funcname 接受兩個(gè)參數(shù)。array 參數(shù)的值作為第一個(gè),鍵名作為第二個(gè)。如果 funcname 需要直接作用于數(shù)組中的值,則給 funcname 的第一個(gè)參數(shù)指定為引用。這樣任何對(duì)這些單元的改變也將會(huì)改變?cè)紨?shù)組本身。 |
userdata | 可選。規(guī)定用戶自定義函數(shù)的參數(shù)。如果提供了可選參數(shù) userdata,將被作為第三個(gè)參數(shù)傳遞給 callback funcname。 |
說(shuō)明:
1.array_walk() 函數(shù)對(duì)數(shù)組中的每個(gè)元素應(yīng)用回調(diào)函數(shù)。如果成功則返回 TRUE,否則返回 FALSE。
2.典型情況下 funname接受兩個(gè)參數(shù)。array 參數(shù)的值作為第一個(gè),鍵名作為第二個(gè)。如果提供了可選參數(shù) userdata ,將被作為第三個(gè)參數(shù)傳遞給回調(diào)函數(shù)。
3.如果 funname函數(shù)需要的參數(shù)比給出的多,則每次 array_walk() 調(diào)用 funname時(shí)都會(huì)產(chǎn)生一個(gè) E_WARNING 級(jí)的錯(cuò)誤。這些警告可以通過(guò)在 array_walk() 調(diào)用前加上 PHP 的錯(cuò)誤操作符 @ 來(lái)抑制,或者用 error_reporting()。
4.如果回調(diào)函數(shù)需要直接作用于數(shù)組中的值,可以將回調(diào)函數(shù)的第一個(gè)參數(shù)指定為引用。
返回值
成功時(shí)返回 TRUE , 或者在失敗時(shí)返回 FALSE 。
實(shí)例:
<?php $fruits = array( "d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple" ); function test_alter(&$item1, $key, $prefix) { $item1 = " $prefix : $item1 "; } function test_print($item2, $key) { echo " $key . $item2 <br />"; } echo "Before ...:<br />"; array_walk($fruits, 'test_print'); array_walk($fruits, 'test_alter', 'fruit'); echo "... and after:<br />"; array_walk($fruits, 'test_print'); ?>
運(yùn)行結(jié)果:
Before ...:
d . lemon
a . orange
b . banana
c . apple
... and after:
d . fruit : lemon
a . fruit : orange
b . fruit : banana
c . fruit : apple
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
相關(guān)文章
使用php實(shí)現(xiàn)下載生成某鏈接快捷方式的解決方法
點(diǎn)擊一個(gè)頁(yè)面中的某個(gè)按鈕或者鏈接,生成某鏈接的快捷方式同時(shí)下載到本地,如果使用php語(yǔ)言來(lái)實(shí)現(xiàn),網(wǎng)上比較多的方法如下2013-05-05thinkPHP3.1驗(yàn)證碼的簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了thinkPHP3.1驗(yàn)證碼的簡(jiǎn)單實(shí)現(xiàn)方法,實(shí)例分析了thinkPHP3.1使用圖形類生成驗(yàn)證碼的相關(guān)技巧,需要的朋友可以參考下2016-04-04新浪微博OAuth認(rèn)證和儲(chǔ)存的主要過(guò)程詳解
本文給大家介紹的是參考Twitter的認(rèn)證過(guò)程實(shí)現(xiàn)的新浪微博OAuth認(rèn)證和儲(chǔ)存的主要過(guò)程詳解2015-03-03WAMP環(huán)境中擴(kuò)展oracle函數(shù)庫(kù)(oci)
本文給大家介紹的是在windows環(huán)境下為php環(huán)境擴(kuò)展Oracle函數(shù)庫(kù)的過(guò)程,十分的詳細(xì),有需要的小伙伴可以參考下。2015-06-06jquery+thinkphp實(shí)現(xiàn)跨域抓取數(shù)據(jù)的方法
這篇文章主要介紹了jquery+thinkphp實(shí)現(xiàn)跨域抓取數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了thinkPHP結(jié)合jQuery的ajax實(shí)現(xiàn)跨域抓取數(shù)據(jù)的相關(guān)操作技巧,需要的朋友可以參考下2016-10-10PHP文章采集URL補(bǔ)全函數(shù)(FormatUrl)
寫此函數(shù)作用就是為了開(kāi)發(fā)采集程序,采集文章的時(shí)候會(huì)經(jīng)常遇到頁(yè)面里的路徑是 相對(duì)路徑 或者 絕對(duì)根路徑 不是 絕對(duì)全路徑 就無(wú)法收集URL2012-08-08PHP驗(yàn)證信用卡卡號(hào)是否正確函數(shù)
這篇文章主要介紹了PHP驗(yàn)證信用卡卡號(hào)是否正確函數(shù),本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05Thinkphp5+plupload實(shí)現(xiàn)的圖片上傳功能示例【支持實(shí)時(shí)預(yù)覽】
這篇文章主要介紹了Thinkphp5+plupload實(shí)現(xiàn)的圖片上傳功能,結(jié)合具體實(shí)例形式分析了thinkPHP5結(jié)合plupload實(shí)現(xiàn)可支持實(shí)時(shí)預(yù)覽的圖片上傳功能相關(guān)操作技巧,需要的朋友可以參考下2019-05-05