php基于数组函数实现关联表的编辑操作示例
本文实例讲述了php基于数组函数实现关联表的编辑操作。分享给大家供大家参考,具体如下:
需求为,在创建学校时,需要添加应用,于是创建了个学校应用关联表,编辑学校并提交时,后台需要判断更新的应用是否为一开始提交的,或是有新的应用提交,有旧的应用删除,简化为数组概括如下
$arr1 = array(1, 2, 4, 5, 6, 9); // 学校应用关联表中一开始的数据 $arr2 = array(3, 4, 5, 7, 8); // 前台更新的数据 /* 两个数组相同的元素,提取不变的元素 Array ( [2] => 4 [3] => 5 ) */ $arr3 = array_intersect($arr1, $arr2); print_r($arr3); /* 两个数组不同的元素,需要删除的 Array ( [0] => 1 [1] => 2 [4] => 6 [5] => 9 ) */ $arr4 = array_diff($arr1, $arr3); print_r($arr4); /* 两个数组不同的元素,需要添加的 Array ( [0] => 3 [3] => 7 [4] => 8 ) */ $arr5 = array_diff($arr2, $arr3); print_r($arr5);
PS:这里再为大家推荐一款功能相似的在线比较工具供大家参考使用:
在线文本比较工具
http://tools.jb51.net/aideddesign/txt_diff
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
php array_udiff_assoc 计算两个数组的差集实例
php array_udiff() 函数用于比较两个(或更多个)数组的键名和键值,并返回差集.此比较是通过用户提供的回调函数来进行的.如果认为第一个参数小于,等于,或大于第二个参数时必须分别返回一个小于零,等于零,或大于零的整数.本文章通过实例向大家讲解array_udiff()函数的使用方法, array_udiff_assoc - 带索引检查计算数组的差集,用回调函数比较数据 基本语法: array array_udiff_assoc ( array $array1 , array $arr
-
php数组操作之键名比较与差集、交集赋值的方法
本文实例讲述了php数组操作之键名比较与差集.交集赋值的方法.分享给大家供大家参考.具体方法如下: 该实例主要实现对数组的各种常见操作.如对键名比较计算数组的差集,计算差集,给指定数组中插入一个元素,反转数组与交集赋值新的数组等. 具体代码如下: 复制代码 代码如下: //定义回调函数 function key_compare_func($key1,$key2) { if($key1==$key2) //如果两参数相等 return 0; //返回0
-
php 数组的合并、拆分、区别取值函数集
合并数组有三个函数: 1.array_combine() 携带两个参数数组,参数数组一的值作新数组的键,参数数组二的值作新数组的值.很简单. 例子: 复制代码 代码如下: <?php $a = array('green', 'red', 'yellow'); $b = array('avocado', 'apple', 'banana'); $c = array_combine($a, $b); print_r($c); ?> 上例将输出: 复制代码 代码如下: Array ( [green]
-
php 归并排序 数组交集
复制代码 代码如下: $a=array('1','2','3','4','22'); $b=array('1','3','4','11','22','23'); f($a, $b, 5, 6, $t); print_r($t); function f(&$a, &$b, $n, $m, &$t){ $i=0;$j=0; while($i<$n && $j<$m){ if($a[$i]==$b[$j]){ echo $a[$i]." "
-
php数组函数序列之array_intersect() 返回两个或多个数组的交集数组
array_intersect() 定义和用法 array_intersect() 函数返回两个或多个数组的交集数组. 结果数组包含了所有在被比较数组中,也同时出现在所有其他参数数组中的值,键名保留不变. 注释:仅有值用于比较. 语法 array_intersect(array1,array2,array3...) 参数 描述 array1 必需.与其他数组进行比较的第一个数组. array2 必需.与第一个数组进行比较的数组. array3 可选.与第一个数组进行比较的数组.可以有多个.例子
-
PHP数组交集的优化代码分析
不过由于手机的参数多,且不同的手机其参数差异大,所以参数表结构通常是纵表(一个参数是一行),而不是横表(一个参数是一列),此时使用若干参数来取结果,通常就是把每个单独参数来取结果,再一起取交集. 假定每个参数会包含一千个左右的唯一结果(id int),以此为前提来模拟生成一些数据: 复制代码 代码如下: <?php $rand = function() { $result = array(); for ($i = 0; $i < 1000; null) { $value = mt_rand(1
-
PHP实现更新中间关联表数据的两种方法
本文以示例形式展示了PHP实现更新中间关联表数据的两种方法.分享给大家供大家参考之用.具体方法如下: 首先,中间关联表:这里的中间表只存表1的主键和表2的主键,即多对多的形式. 执行数据添加和删除为框架内部方法,不属于思路部分. 方法一:先全部删除旧数据,后添加新数据 $res = $this->classes->classEdit($id, $data); //修改主表数据 if($res) { //先删除关联表数据 $bool = $this->lesson_classes->
-
PHP获得数组交集与差集的方法
本文实例讲述了PHP获得数组交集与差集的方法.分享给大家供大家参考.具体分析如下: 一.数组的交集 array_intersect() array_intersect()函数返回一个保留了键的数组,这个数组只由第一个数组中出现的且在其他每个输入数组中都出现的值组成.其形式如下: array array_intersect(array array1,array array2[,arrayN-]) 下面这个例子将返回在$fruit1数组中出现的且在$fruit2和$fruit3中也出现的所有的水果:
-
PHP数组的交集array_intersect(),array_intersect_assoc(),array_inter_key()函数的小问题
返回一个交集共有元素的数组(只是数组值得比较).array_intersect_assoc()函数是将键值和值绑定,一起比较交集部分.array_intersect_key()函数是将两个数组的键值进行比较,返回键值交集的数组.但实际应用中也遇到了一些小问题,正如下: 实例: 复制代码 代码如下: <?PHP $array = array("red"=>"Red","green"=>"red4","
-
PHP数组对比函数,存在交集则返回真,否则返回假
复制代码 代码如下: <?php $array1 = array('a', 'b', 'c', 'd'); $array2 = array('a', 'c'); $array3 = array_intersect($array1, $array2); if($array3) { echo '有交集'; } ?>
随机推荐
- cocos2dx骨骼动画Armature源码剖析(三)
- 按键精灵应用手记
- pycharm 使用心得(二)设置字体大小
- js保留两位小数使用toFixed实现
- 使用Bootstrap typeahead插件实现搜索框自动补全的方法
- java Collection 之Set使用说明
- 手把手教你做超酷的条形码效果第1/3页
- asp.net提取多层嵌套json数据的方法
- PHPLog php 程序调试追踪工具
- javascript每日必学之运算符
- JS实现仿PS的调色板效果完整实例
- SQL Server 监控磁盘IO错误,msdb.dbo.suspect_pages
- MySQL日志设置及查看方法
- 经典黑客远程网络攻击过程概要
- Nginx geoip模块实现地区性负载均衡
- Android开发之对话框案例详解(五种对话框)
- Android 判断某个服务(service)是否运行
- C语言手把手教你实现贪吃蛇AI(下)
- VBS基础篇 - vbscript动态数组
- SpringBoot + Mybatis增删改查实战记录