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'),
); 展开
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'),
); 展开
2个回答
展开全部
多重循环,然后直接修改
举个例子,将数组中所有的用户头像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);
输出
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询