php实现多维数组中每个单元值(数字)翻倍的方法

前提:一个多维数组,它的每个最小单元值都为数字。
要求:写一个函数,将最小单元值翻倍。

代码如下

<?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 "<pre>"; print_r(arr2($arr)); ?>

利用系统提供的函数来解决,方法如下:

<?php $arr = array(1,3,'a'=>20,'b'=>array(2,4,6,'c'=>7)); function t(&$arr){ $arr *= 2; } echo "<pre>"; array_walk_recursive($arr,'t'); print_r($arr); ?>

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/b0bc1edf0b918b8d4723378e362e46fe.html