本文实例讲述了php实现多维数组中每个单元值(数字)翻倍的方法。分享给大家供大家参考。具体分析如下:
前提:一个多维数组,它的每个最小单元值都为数字。
要求:写一个函数,将最小单元值翻倍。
代码如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
<?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 )); ?> |
利用系统提供的函数来解决,方法如下:
1
2
3
4
5
6
7
8
9
|
<?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 ); ?> |
希望本文所述对大家的php程序设计有所帮助。