本文实例讲述了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 class=" brush:php;toolbar:false ">" ;
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 class=" brush:php;toolbar:false ">" ;
array_walk_recursive ( $arr , 't' );
print_r( $arr );
?>
|
ログイン後にコピー
希望本文所述对大家的php程序设计有所帮助。