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

yipeiwu_com6年前PHP代码库

本文实例讲述了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);
?>

希望本文所述对大家的php程序设计有所帮助。

相关文章

php实现在新浪云中使用imagick生成缩略图并上传的方法

本文实例讲述了php实现在新浪云中使用imagick生成缩略图并上传的方法。分享给大家供大家参考,具体如下: imagick是一款php的图像处理插件了我们可以使用imagick来进行许...

使用ThinkPHP自带的Http类下载远程图片到本地的实现代码

Http类在目录ThinkPHP/Lib/ORG/Net下面。接下来看看是如何调用的。 复制代码 代码如下: <?php import("Com.Buyback.QueryAmaz...

DedeCMS 核心类TypeLink.class.php摘要笔记

注:'//+' 表示为本人另外加上的注释 Class TypeLink { var $typeDir; var $dsql; var $TypeID; //+ 类别ID var $bas...

php数组合并与拆分实例分析

本文实例讲述了php数组合并与拆分的方法。分享给大家供大家参考。具体如下: <?php $array1 = array("A","B","C","D"); $arr...

PHP iconv()函数字符编码转换的问题讲解

在php中iconv函数库能够完成各种字符集间的转换,是php编程中不可缺少的基础函数库;但有时候iconv对于部分数据转码会无缘无故的少一些。比如在转换字符"—"到gb2312时会出错...