php 多维数组元素值替换【高手进来】 35

$arr=array(array('id'=>'1','media'=>array('uid'=>'10','name'=>'用户名10','avatar'=>'01头像... $arr = array(
array('id'=>'1','media'=>array('uid'=>'10','name'=>'用户名10','avatar'=>'01头像图片远程地址'),'title'=>'标题001','images'=>array('图片01远程地址','图片02远程地址','图片03远程地址'),'url'=>'url'),
array('id'=>'2','media'=>array('uid'=>'5','name'=>'用户名5','avatar'=>'05头像图片远程地址'),'title'=>'标题002','images'=>array('图片04远程地址'),'url'=>'url'),
array('id'=>'3','media'=>array('uid'=>'9','name'=>'用户名9','avatar'=>'09图像图片远程地址'),'title'=>'标题003','images'=>array(),'url'=>'url'),
);
这是原始数组形式,其中元素images是数组形式,图片地址数量是随机的,如何能够将 images和avatar里面的值给一一提取出来 ,然后替换成新的图片地址。最后呈现的结果还是这种数组形式。
说白了,就是将远程图片地址替换成本地图片地址,转换成本地图片地址这一步可以忽略过去。
最终结果为这个样子:
$arr = array(
array('id'=>'1','media'=>array('uid'=>'10','name'=>'用户名10','avatar'=>'01头像图片本地地址'),'title'=>'标题001','images'=>array('图片01本地地址','图片02本地地址','图片03本地地址'),'url'=>'url'),
array('id'=>'2','media'=>array('uid'=>'5','name'=>'用户名5','avatar'=>'05头像图片本地地址'),'title'=>'标题002','images'=>array('图片04本地地址'),'url'=>'url'),
array('id'=>'3','media'=>array('uid'=>'9','name'=>'用户名9','avatar'=>'09图像图片本地地址'),'title'=>'标题003','images'=>array(),'url'=>'url'),
);
展开
 我来答
阿巴巴fGw
2017-10-05 · TA获得超过677个赞
知道小有建树答主
回答量:1470
采纳率:84%
帮助的人:515万
展开全部

多重循环,然后直接修改

举个例子,将数组中所有的用户头像avator 从google改成baidu。都修改掉:

$arr = [
  [
    ['name'=>'a','age'=>22,'avator'=>'http://www.google.com'],
    ['name'=>'b','age'=>21,'avator'=>'http://www.google.com'],
    ['name'=>'c','age'=>20,'avator'=>'http://www.google.com']  
  ],
  [
    ['name'=>'d','age'=>22,'avator'=>'http://www.google.com'],
    ['name'=>'e','age'=>22,'avator'=>'http://www.google.com'],
    ['name'=>'f','age'=>22,'avator'=>'http://www.google.com']
  ]
];

for($i=0;$i<count($arr);$i++){
    for($j=0;$j<count($arr[$i]);$j++){
       $arr[$i][$j]['avator'] = 'http://www.baidu.com/'.$i.'-'.$j;
    }
}
echo "<pre>";
print_r($arr);

输出


诺记美利达
电脑发烧友

2015-01-28 · 不会修电脑,但是你问我的我都知道
知道大有可为答主
回答量:1.3万
采纳率:59%
帮助的人:3764万
展开全部
你的这个很有规律,挨个遍历。到了images这一层的array后,就把内容替换掉就行了呗
追问
麻烦大神给个实例,谢谢了!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式