永发信息网

php 如何实现把两个数组 中含有 不相同的值插入到数据库中

答案:4  悬赏:0  手机版
解决时间 2021-03-02 21:03
  • 提问者网友:欲劫无渡
  • 2021-03-01 22:08
比如下面的两个数组:
数组 $a = array( 1 => 'one', 2 => 'two', );
数组 $b = array( 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'aa', 5 => 'bb, );

请问如何实现 把数组$b ,$a两个数组 如果不存在相同的值,则有把不相同的值插入到数据库中;相同的值不要插入到数据库中
最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-03-01 23:42
$a = array('one','two');
$b = array('one','two','three','aa','bb');
var_dump(array_diff($b,$a));
var_dump(array_intersect($b,$a));
?>array_diff() 函数返回两个数组的差集数组
array_intersect() 函数返回两个或多个数组的交集数组。
望采纳 Thx
全部回答
  • 1楼网友:冷風如刀
  • 2021-03-02 03:04
不知道我理解的对不,是你的答案不,你可以试试 for(.......){ .........//你的for循环 $data[] = array( 'no'=>$no, 'ok'=>$ok, 'shold_date'=>$should_date, ); } 这样应该可以得到了,结果应该是 二维数组。 $data = array( 0=>array( 'no'=>1, 'ok'=>1, 'should_date'=>‘2014-7-25’ ), 1=>array( 'no'=>1, 'ok'=>1, 'should_date'=>‘2014-7-25’ ), ) 插入数据库中,你可以用foreach 实现了。 ============================== 不过,你可以在 for循环中,直接插入数据库中啊,不用写到数组里,也可以直接添加中。
  • 2楼网友:山河有幸埋战骨
  • 2021-03-02 01:58
$arr = array_merge(array_differ($a,$b),array_differ($b,$a)); 在把$arr插入到数据库
  • 3楼网友:不甚了了
  • 2021-03-02 00:23
使用array_diff函数取出差集不就可以了么:  'one', 2 => 'two', ); $b = array( 1 => 'one', 2 => 'two', 3 => 'three', 4 => 'aa', 5 => 'bb'); var_dump(array_diff($b, $a)); ?>
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯