PHP array_walk_recursive() 函數(shù)
定義和用法
與 array_walk() 函數(shù) 類似,array_walk_recursive() 函數(shù)對數(shù)組中的每個元素應(yīng)用回調(diào)函數(shù)。不一樣的是,如果原數(shù)組中的元素也是數(shù)組,就會遞歸地調(diào)用回調(diào)函數(shù),也就是說,會遞歸到更深層的數(shù)組中去。
典型情況下,function 接受兩個參數(shù)。array 參數(shù)的值作為第一個,鍵名作為第二個。如果提供了可選參數(shù) userdata ,將被作為第三個參數(shù)傳遞給回調(diào)函數(shù)。
如果回調(diào)函數(shù)需要直接作用于數(shù)組中的值,可以將回調(diào)函數(shù)的第一個參數(shù)指定為引用,這樣對這些單元的任何改變也將會改變原始數(shù)組本身。
語法
array_walk_recursive(array,function,userdata)
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定數(shù)組。 |
function | 必需。用戶自定義函數(shù)的名稱。 |
userdata | 可選。用戶輸入的值,可作為回調(diào)函數(shù)的參數(shù)。 |
例子
<?php function myfunction($value,$key) { echo "The key $key has the value $value<br />"; } $a1=array("a"=>"Cat","b"=>"Dog"); $a2=array($a1,"1"=>"Bird","2"=>"Horse"); array_walk_recursive($a2,"myfunction"); ?>
輸出:
The key a has the value Cat The key b has the value Dog The key 1 has the value Bird The key 2 has the value Horse