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。 |
說明:
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ò)誤。這些警告可以通過在 array_walk() 調(diào)用前加上 PHP 的錯(cuò)誤操作符 @ 來抑制,或者用 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)文章
Thinkphp 框架擴(kuò)展之?dāng)?shù)據(jù)庫(kù)驅(qū)動(dòng)常用方法小結(jié)
這篇文章主要介紹了Thinkphp 框架擴(kuò)展之?dāng)?shù)據(jù)庫(kù)驅(qū)動(dòng)常用方法,總結(jié)分析了Thinkphp數(shù)據(jù)庫(kù)驅(qū)動(dòng)常用方法、功能及相關(guān)使用注意事項(xiàng),需要的朋友可以參考下2020-04-04
laravel 5異常錯(cuò)誤:FatalErrorException in Handler.php line 38的解決
這篇文章主要給大家介紹了關(guān)于laravel 5異常錯(cuò)誤:FatalErrorException in Handler.php line 38的解決方法,文中將解決方法介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10
laravel 實(shí)現(xiàn)用戶登錄注銷并限制功能
今天小編就為大家分享一篇laravel 實(shí)現(xiàn)用戶登錄注銷并限制功能,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-10-10
PHP使用SWOOLE擴(kuò)展實(shí)現(xiàn)定時(shí)同步 MySQL 數(shù)據(jù)
本文給大家介紹的是一次比較特殊的任務(wù),我們使用PHP SWOOLE 做一個(gè)異步的定時(shí)任務(wù)系統(tǒng),具體如何來實(shí)現(xiàn)的呢,接下來來我們好好看下吧2017-04-04
PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)示例
這篇文章主要介紹了PHP上傳Excel文件導(dǎo)入數(shù)據(jù)到MySQL數(shù)據(jù)庫(kù)示例,可以將Excel的數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫(kù)中,感興趣的同學(xué)可以了解一下。2016-10-10
php正則去除網(wǎng)頁(yè)中所有的html,js,css,注釋的實(shí)現(xiàn)方法
下面小編就為大家?guī)硪黄猵hp正則去除網(wǎng)頁(yè)中所有的html,js,css,注釋的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-11-11

