php 遞迴函式

2021-08-15 08:20:42 字數 1378 閱讀 4884

array_walk 有個原生遞迴函式 array_walk_recursive($arr, 'function', 'words'),但是 array_map 卻沒有對應的遞迴函式 array_map_recursive,

我們可以自定義乙個:

function array_map_recursive($filter, $data) 

return $result;

}

應用舉例:

$arr = array(

'a' => '2',

'b' => array(

'cc' => 'wen',

'dd' => 'jian',

'ee' => 'bao'

));

function func_a($value)

var_dump($arr);

$arr = array_map_recursive('func_a', $arr);

var_dump($arr);

其實吧,完全可以用

array_walk_recursive() 函式 實現該功能,如下**所示:

$arr = array(

'a' => '2',

'b' => array(

'cc' => 'wen',

'dd' => 'jian',

'ee' => 'bao'

));

function func_b(&$value)

var_dump($arr);

array_walk_recursive($arr, 'func_b');

var_dump($arr);

輸出:

array (size=2)

'a' => string '2' (length=1)

'b' =>

array (size=3)

'cc' => string 'wen' (length=3)

'dd' => string 'jian' (length=4)

'ee' => string 'bao' (length=3)

array (size=2)

'a' => string '2_aaa' (length=5)

'b' =>

array (size=3)

'cc' => string 'wen_aaa' (length=7)

'dd' => string 'jian_aaa' (length=8)

'ee' => string 'bao_aaa' (length=7)

PHP遞迴函式

遞迴函式是指直接或間接的呼叫函式自身的函式。遞迴函式的條件 示例 function demo a 1 次執行 a demo a demo 效果如圖 這個很好理解把,首先 a 1條件成立執行真區間,列印一次,a自增後作為實參傳入,呼叫自身,此時 a 2,條件成立,再次列印。再自增再傳入,a 3,條件依...

php遞迴使用示例 php遞迴函式

遞迴獲得角色id字串 function exploderole roleobj,resultstr else exploderole childroleobj,resultstr 遞迴獲取級聯角色資訊陣列 function makerolerelation roleobjarr 程式設計客棧 通過父...

php基礎 遞迴求和函式

遞迴 function sum n else echo sum 100 返回5050 遞迴求和函式 sun 5 5 sum 4 sum 4 4 sum 3 sum 3 3 sum 2 sum 2 2 1 拿到題目先列已知條件 會寫的先寫出來 不會的再找規律 用遞迴的方式列印出當前目錄及子目錄 fun...