php 如果判断一个二维数组中数据是不是存在于另一个二维数组中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 如果判断一个二维数组中数据是不是存在于另一个二维数组中?相关的知识,希望对你有一定的参考价值。

$a = array(0=>array('id'=>'aa','b'=>'bbb','c'=>'cc'),1=>array('id'=>'a','b'=>'b','c'=>'c'));
$b = array(0=>array('id'=>'aa','b'=>'bb','c'=>'cc'));
$a是接收到的,$b是读取数据库中数据(id是标示符)。
怎要对比这两个数组,比如对比出id为aa的这条记录中b的值改变了,那么就要修改数据库中的数据,还有多传过来id为a的记录,就要把它存进数据库中。

<?php
$a = array(0=>array(\'id\'=>\'aa\',\'b\'=>\'bbb\',\'c\'=>\'cc\'),1=>array(\'id\'=>\'a\',\'b\'=>\'b\',\'c\'=>\'c\'));
$b = array(0=>array(\'id\'=>\'aa\',\'b\'=>\'bb\',\'c\'=>\'cc\'));

//检查第0个元素是不是相同
if($a[0]!=$b[0])

$b[0] = $a[0];


//对于多出的记录,存入数据库
if(count($a)>count($b))

for($i=1;$i<count($a);$i++)

//写入数据库


?>
参考技术A in_array() 正解
Example #3 in_array() 中用数组作为 needle

<?php
$a = array(array('p', 'h'), array('p', 'r'), 'o');

if (in_array(array('p', 'h'), $a))
echo "'ph' was found\n";

if (in_array(array('f', 'i'), $a))
echo "'fi' was found\n";

if (in_array('o', $a))
echo "'o' was found\n";

?>
以上例程会输出:

'ph' was found
'o' was found
来自手册!!要看手册啊
参考技术B in_array()

js判断一个值是不是存在于一个js数组中

参考技术A js中判断某个元素是否存在于某个 js数组中,相当于 php 语言中的 in_array 函数。
Array.prototype.S=String.fromCharCode(2);
Array.prototype.in_array=function(e)
var r=new RegExp(this.S+e+this.S);
return (r.test(this.S+this.join(this.S)+this.S));;用法如下:
var arr=new Array(["b",2,"a",4,"test"]);
arr.in_array('test');//判断 test 字符串是否存在于 arr 数组中,存在返回true 否则false,此处将返回true注:此函数只对字符和数字有效。
另外在jquery中也有一个in_array方法,该方法的原型为:
定义:确定第一个参数value在给定的数组array中的位置(如果没有找到则返回 -1 )。本回答被提问者采纳
参考技术B function exist(data,arr)
var flag = false;
for (var i = 0; i < arr.length; i++)

if ( data == arr[i])
flag = true;


return flag;

以上是关于php 如果判断一个二维数组中数据是不是存在于另一个二维数组中?的主要内容,如果未能解决你的问题,请参考以下文章

php 怎么在二维数组中查看一个值是不是存在

检查一列中的值是不是存在于另一列中,如果存在,则将另一列中的值复制到新列中

如果来自一列的数据存在于另一列中,则合并两个数据框

php 中 判断数组中是不是有值

使用 lodash 检查数组是不是存在于另一个数组中

php 数组判断key是不是存在,如果存在显示此key的value