数组文件操作
已知数组a和数组b
$a = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'count' => '16', ),);$b = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'count' => '32', ), 2 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '3528', 'count' => '80', ),);
想要得到的结果是当数组b和数组a的cust_no和lotno都相同时,则提示update table sql
否则insert table sql。请问怎么求?
回复讨论(解决方案)
你这是二维啊,谁跟谁相同?
你这是二维啊,谁跟谁相同?
我用foreach来遍历2个2维数组,就例中而言,数组b存在: 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15'
数组a也存在: 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15'。因为对应的cust_no和lotno键值都相等,所以进行update操作。
foreach ($a as $a1) {
foreach ($b as $b1) {
if $a1['cust_no'] == $b1['cust_no'] && $a1['lotno'] == $b1['lotno'] {
...
你都四角了,我感觉你这帖子是在开玩笑吧?
$a = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'count' => '16', ),); $b = array ( 0 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2X15', 'count' => '0', ), 1 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '2Z15', 'count' => '32', ), 2 => array ( 'cust_no' => '310F6 1VA5A', 'lotno' => '3528', 'count' => '80', ),);foreach($b as $i=>$v) { print_r($v); if(isset($a[$i]) && count(array_intersect_assoc($v, $a[$i])) == count($v)) { echo "update table sql\n"; }else echo "insert table sql\n";}
(
[cust_no] => 310F6 1VA5A
[lotno] => 2X15
[count] => 0
)
update table sql
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 2Z15
[count] => 32
)
insert table sql
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 3528
[count] => 80
)
insert table sql
你都四角了,我感觉你这帖子是在开玩笑吧?
可能我表述不清,结果不是这样的。
foreach($bb as $cc) { foreach($tt as $tts) { if(($tts['cust_no'] == $cc['cust_no'])&&($tts['lotno'] == $cc['lotno'])) { $sql = "update `".$o."` set count = '".$tts['count']."' where cust_no = '".$tts['cust_no']."' and lotno = '".$tts['lotno']."'"; echo $sql.'<br />'; } else { $sql2 = "insert into `".$o."`(cust_no,lotno,count) values ('".$tts['cust_no']."','".$tts['lotno']."','".$tts['count']."')"; echo $sql2.'<br />'; } } }//结果是这样的:update `kw_mount` set count = '0' where cust_no = '310F6 1VA5A' and lotno = '2X15'insert into `kw_mount`(cust_no,lotno,count) values ('310F6 1VA5A','2Z15','32')insert into `kw_mount`(cust_no,lotno,count) values ('310F6 1VA5A','3528','80')insert into `kw_mount`(cust_no,lotno,count) values ('310F6 1VA5A','2X15','0')update `kw_mount` set count = '32' where cust_no = '310F6 1VA5A' and lotno = '2Z15'insert into `kw_mount`(cust_no,lotno,count) values ('310F6 1VA5A','3528','80')//而我想得到的结果是update `kw_mount` set count = '0' where cust_no = '310F6 1VA5A' and lotno = '2X15'update `kw_mount` set count = '32' where cust_no = '310F6 1VA5A' and lotno = '2Z15'insert into `kw_mount`(cust_no,lotno,count) values ('310F6 1VA5A','3528','80')
这样要怎么求?
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 2X15
[count] => 0
)
update table sql
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 2Z15
[count] => 32
)
insert table sql
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 3528
[count] => 80
)
insert table sql
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 2X15
[count] => 0
)
update table sql
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 2Z15
[count] => 32
)
insert table sql //这里要变成update table sql,因为cust_no和lotno都相同
Array
(
[cust_no] => 310F6 1VA5A
[lotno] => 3528
[count] => 80
)
insert table sql
要什么条件自己改
foreach($b as $i=>$v) { print_r($v); if(isset($a[$i]) && $v['cust_no'] == $a[$i]['cust_no'] && $v['lotno'] == $a[$i]['lotno']) { echo "update table sql\n"; }else echo "insert table sql\n";}

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

JWT是一种基于JSON的开放标准,用于在各方之间安全地传输信息,主要用于身份验证和信息交换。1.JWT由Header、Payload和Signature三部分组成。2.JWT的工作原理包括生成JWT、验证JWT和解析Payload三个步骤。3.在PHP中使用JWT进行身份验证时,可以生成和验证JWT,并在高级用法中包含用户角色和权限信息。4.常见错误包括签名验证失败、令牌过期和Payload过大,调试技巧包括使用调试工具和日志记录。5.性能优化和最佳实践包括使用合适的签名算法、合理设置有效期、

SOLID原则在PHP开发中的应用包括:1.单一职责原则(SRP):每个类只负责一个功能。2.开闭原则(OCP):通过扩展而非修改实现变化。3.里氏替换原则(LSP):子类可替换基类而不影响程序正确性。4.接口隔离原则(ISP):使用细粒度接口避免依赖不使用的方法。5.依赖倒置原则(DIP):高低层次模块都依赖于抽象,通过依赖注入实现。

如何在系统重启后自动设置unixsocket的权限每次系统重启后,我们都需要执行以下命令来修改unixsocket的权限:sudo...

文章讨论了PHP 5.3中引入的PHP中的晚期静态结合(LSB),从而允许静态方法的运行时分辨率调用以获得更灵活的继承。 LSB的实用应用和潜在的触摸

使用PHP的cURL库发送JSON数据在PHP开发中,经常需要与外部API进行交互,其中一种常见的方式是使用cURL库发送POST�...
