php 多维数组元素值替换【高手进来】
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 多维数组元素值替换【高手进来】相关的知识,希望对你有一定的参考价值。
$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'),
);
多重循环,然后直接修改
举个例子,将数组中所有的用户头像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);
输出
麻烦大神给个实例,谢谢了!
php批量替换数组中的元素值
<?php
$files = array();
foreach (glob("/www/wwwroot/5.com/*.jpg") as $file) {
$files[] = $file;
}
$ss =str_replace(‘/www/wwwroot/5.com/‘,‘5.com.com/‘,$files);
print_r($ss);
以上是关于php 多维数组元素值替换【高手进来】的主要内容,如果未能解决你的问题,请参考以下文章