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++)
{
//写入数据库
}
}
?>
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-20
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
来自手册!!要看手册啊本回答被网友采纳
第2个回答  2012-04-11
in_array()

php 怎么在二维数组中查看一个值是否存在
php 二维数组验证一个值是否存在,参考代码如下 arr = array( array('a', 'b'), array('c', 'd') ); in_array('a', $arr); \/\/ 此时返回的永远都是 false deep_in_array('a', $arr); \/\/ 此时返回 true 值 function deep_in_array($value, $array) { forea...

php判断二维数组中是否含有某个值
可以使用遍历二维数组的办法判断,还可以统计出现的次数或者输出key值。代码如下:<?php$d=100;$tot=0;$cars=array(array("Volvo",100,96),array("BMW",100,59),array("Toyota",110,100));foreach($cars as $v){if(is_array($v)){foreach($v as $a){if($a==$d)$tot++;}}else...

PHP中怎么从一个二维数组中随机取出一个值?
回答:用array_rand()函数就可以实现。 array_rand():从数组中随机选出一个或多个元素,并返回。 语法:array_rand(array,number) array:必需。规定输入的数组参数。 number:可选。默认是 1。规定返回多少个随机的元素。 例子:$a = ['a','b','c'];\/\/定义一个二维数组 $b = $array_rand($...

php 二维数组如何统计相同值出现的次数
循环 要统计的数组$a, 把要统计的值 放入另一个数组中$b, 判断如果$b中 有这个值,就加1.

php中一个二维数组,怎么吧数组中的数据作为value插入到数据库某个表中...
如果用values的形式插入语句只能用for反复执行(以mysql为例)for($i = 0; $i < 66; $i++){ mysql_query("insert into users (user_id,user_name) value( array[$i]['user_id'],array[$i]['name'])");} 或者一次性生成表然后插入,需要尽量保证表结构一致 str = "insert into use...

php把一个二维数组的值插入到对应的多维数组里面,键值相同:
你这array2的格式和array1不一样啊,单纯array insert的话用array_push \/\/把array2插到array1中array_push(array1, array2);

php的数组问题,一个二维数组怎么取出里面的部分元素组成一个新数组?
arr=array(array('id'=>2,'nickname'=>'chenjudong','email'=>''), array ('id'=>8,'nickname'=>'天使爱美丽','email'=>''));$arrNew=array();foreach($arr as $k=>$v){ $arrNew[$k]=array('id'=>$v['id'],'nickname'=>$v['nickname']);}print_r($arrNew);\/\/...

求:php正则表达式,解析中的中的为一个二维数组
*<td.*(\\w*)<\\\/td>.*\/s';tmp="\/(.*)<\\\/tr>\/iUs";preg_match_all($tmp,$html,$macthes);tmp="\/(.*)<\\\/td>\/iUs";arr=Array();foreach($macthes[1] as $tr){ preg_match_all($tmp,$tr,$td);arr[]=$td[1];} print_r($arr);...

php中二维数组的输出出现了问题,提示:Notice: Array to string conversio...
<?php $arr=array(array("111","222","333"),array("444","555","666")); print_r("{$arr[0][1]}");?>这样就可以了,多维数组、以及下标不是简单数值的数组,都需要{}起来。

php 如何取二维数组中某个值,并组合成另一个一维数组进行implode
<?php$array=array('0'=>array('name'=>'aaa','id'=>'22222'),'1'=>array('name'=>'bbb','id'=>'333'));$new = array();foreach ($array as $v){ $new[]=$v['id'];}$num = join(',',$new);echo $num;?> ...

相似回答