php中比较两个数组内容,相同部分保留,不同的加上
来源:互联网 发布:百度云备案域名出售 编辑:程序博客网 时间:2024/05/17 23:03
[1] => Array ( [0] => 443 [v] =>443 [1] => 2.9.1-R-20140520.0505 [version] => 2.9.1-R-20140520.0505 )
[2] => Array ( [0] => 618 [v] =>618 [1] => 2.9.1-R-20140521.0507 [version] => 2.9.1-R-20140521.0507 )
[4] => Array ( [0] => 557 [v] =>557 [1] => 2.9.1-R-20140527.0503 [version] => 2.9.1-R-20140527.0503 ) )
Array ( [0] => Array ( [0] => 2.9.0-R-20140519.0458 [version] => 2.9.0-R-20140519.0458 )
[1] => Array ( [0] => 2.9.1-R-20140520.0505 [version] => 2.9.1-R-20140520.0505 )
[2] => Array ( [0] => 2.9.1-R-20140521.0507 [version] => 2.9.1-R-20140521.0507 )
[3] => Array ( [0] => 2.9.1-R-20140522.1416 [version] => 2.9.1-R-20140522.1416 )
[4] => Array ( [0] => 2.9.1-R-20140526.0504 [version] => 2.9.1-R-20140526.0504 )
[5] => Array ( [0] => 2.9.1-R-20140527.0503 [version] => 2.9.1-R-20140527.0503 ) )
有上面两个数组,分别是$rlt和$rltVersion ,现在如果$rlt中的version在$rltVersion中不存在 再需要创建一个,其对应的v值设置为null串,代码如下:
$rlt_tmp = array();if(count($rlt) < count($rltVersion)){foreach($rltVersion as $singleObj){$flag = true;$version_tmp = $singleObj['version'];foreach($rlt as $obj){if($version_tmp == $obj['version']){$flag = false;array_push($rlt_tmp, array('v'=>$obj['v'],'version'=>$obj['version']));break;}}if($flag == true){array_push($rlt_tmp, array('v'=>'null','version'=>$version_tmp));}}}else{$rlt_tmp = $rlt;}
Java的处理方式如下:
import java.util.ArrayList;import java.util.List;public class HjmTest {private static final String DEFAULT_VALUE = "0000";/** * * 方法简述: * <p> * 方法详细描述<br> * @Author: owen * @Since: 2014-5-27 * @param args */public static void main(String[] args) {HjmTest.doVersion();}public static void doVersion(){List<VersionBean> list = new ArrayList<VersionBean>();VersionBean vb1 = new VersionBean();vb1.setVersion("version1");vb1.setValue("10001");VersionBean vb2 = new VersionBean();vb2.setVersion("version2");vb2.setValue("10002");VersionBean vb3 = new VersionBean();vb3.setVersion("version3");vb3.setValue("10003");VersionBean vb4 = new VersionBean();vb4.setVersion("version4");vb4.setValue("10004");VersionBean vb5 = new VersionBean();vb5.setVersion("version5");vb5.setValue("10005");list.add(vb1);list.add(vb2);list.add(vb3);list.add(vb4);list.add(vb5);String[] arr = {"version0","version1","version2","version3","version4", "version5","version6","version7",};System.out.println("比较前数据:");for(VersionBean vBean : list){System.out.println(vBean);}//针对不存在的List<String> versionList = new ArrayList<String>();for(String v:arr){boolean flag = true;for(VersionBean vBean : list){if(v.equals(vBean.getVersion())){flag = false;break;}}if(flag){versionList.add(v);}}for(String s : versionList){VersionBean temp = new VersionBean();temp.setVersion(s);temp.setValue(HjmTest.DEFAULT_VALUE);list.add(temp);}System.out.println("比较后数据:");for(VersionBean vBean : list){System.out.println(vBean);}}}class VersionBean {private String version;private String value;public String getVersion() {return version;}public void setVersion(String version) {this.version = version;}public String getValue() {return value;}public void setValue(String value) {this.value = value;}public String toString(){return "版本号:"+this.getVersion()+",版本值:"+this.getValue();}}
- php中比较两个数组内容,相同部分保留,不同的加上
- 比较高效地实现从两个不同数组中提取相同部分组成新的数组(暂时只支持Int类型)
- iOS小问题--使用NSPredicate比较两个数组中相同(不同)的元素
- 比较两个数组中不同的值
- 比较两个数组中不同的数
- php比较两个数组是否相同
- php中两个数组的比较
- 比较取得两个字符串数组中相同元素和不同元素
- PHP函数之删除两个数组中相同的元素
- 交换两个相同大小的数组内容
- 2015大众点评校园招聘笔试题——比较两个字符串的相同部分和不同部分
- JAVA两个数组间元素的比较(找出相同或者不同元素)
- JAVA两个数组间元素的比较(找出相同或者不同元素)
- php比较两个二维数组是否相同,多维数组
- php将两个不同长度数组相同的key合并到一个数组,不同的key也合并进去
- PHP分割两个数组的相同元素和不同元素的两种方法
- 得到两个list中相同的部分。
- 遍历 Json 数组(不知道属性的情况), 以及比较相同结构的两个 Json 数组值不同项
- 数据同步处理方案
- OpenGL ES之glUniform函数
- 让SD卡转接成SSD固态硬盘
- js data 格式转换
- Scripts:报告所有用户session信息的脚本sess_user_sessions.sql
- php中比较两个数组内容,相同部分保留,不同的加上
- GCDAsyncUdpSocket 组播监听端口接收数据
- 位图与文字
- 校赛 SDUT OJ2860生日Party(BFS)
- 第十二章 面向语言编程
- 蔡文胜给创业者的10条建议
- 泛型
- Scripts:查出用户有未提交事务的脚本sess_uncommited_transactions.sql
- ini配置文件常用的四个函数