时间:2021-07-01 10:21:17 帮助过:3人阅读
前提:一个多维数组,它的每个最小单元值都为数字。
要求:写一个函数,将最小单元值翻倍。
代码如下
<?php $arr = array(1,3,'a'=>20,'b'=>array(2,4,6,'c'=>7)); function arr2($arr){ foreach($arr as $key=>$v){ if(!is_array($v)){ $arr[$key] *= 2; }else{ $arr[$key] = arr2($arr[$key]); } } return $arr; } echo ""; print_r(arr2($arr)); ?>利用系统提供的函数来解决,方法如下:
<?php $arr = array(1,3,'a'=>20,'b'=>array(2,4,6,'c'=>7)); function t(&$arr){ $arr *= 2; } echo ""; array_walk_recursive($arr,'t'); print_r($arr); ?>希望本文所述对大家的php程序设计有所帮助。