二个 二维数组 对比 生成新的二维数组
本帖最后由 xiaolei1314555 于 2023-2-7 13:51 编辑第一个二维数组:array(2) {
=>
array(6) {
["id"]=> 1
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "238756"
["name"]=> "帅帅矿岩石不粘炒锅32cm/个"
["qty"]=> "2.00"
}
=>
array(6) {
["id"]=> 2
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "238757"
["name"]=> "帅帅不粘炒锅/个"
["qty"]=> "2.00"
}=>
array(6) {
["id"]=> 3
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "245093"
["name"]=> "凤品优作全铸铁真不锈炒锅(有盖)32cm/个"
["qty"]=> "3.00"
}
}
第二个二维数组:array(4) {
=>
array(6) {
["id"]=> 1
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "206646"
["name"]=> "王麻子麦典麦饭石炒锅32cm/个"
["qty"]=> "36.00"
}
=>
array(6) {
["id"]=> 2
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "238757"
["name"]=> "帅帅不粘炒锅/个"
["qty"]=> "2.00"
}
=>
array(6) {
["id"]=> 3
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "345417"
["name"]=> "凤品优作全铸铁真不锈炖锅32cm/个"
["qty"]=> "22.00"
}
=>
array(6) {
["id"]=> 4
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "238756"
["name"]=> "帅帅矿岩石不粘炒锅32cm/个"
["qty"]=> "3.00"
}
}
怎么写个方法实现 2个二维数组 变成一个二维数组 格式如下:
array(4) {
=>
array(6) {
["id"]=> 1
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "206646"
["name"]=> "王麻子麦典麦饭石炒锅32cm/个"
["a_qty"]=> "0.00"
["b_qty"]=> "36.00"
["c_qty"]=> "0"
}
=>
array(6) {
["id"]=> 2
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "238757"
["name"]=> "帅帅不粘炒锅/个"
["a_qty"]=> "2.00"
["b_qty"]=> "2.00"
["c_qty"]=> "2.00"
}
=>
array(6) {
["id"]=> 3
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "345417"
["name"]=> "凤品优作全铸铁真不锈炖锅32cm/个"
["a_qty"]=> "0.00"
["b_qty"]=> "22.00"
["c_qty"]=> "0"
}
=>
array(6) {
["id"]=> 4
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "238756"
["name"]=> "帅帅矿岩石不粘炒锅32cm/个"
["a_qty"]=> "2.00"
["b_qty"]=> "3.00"
["c_qty"]=> "0"
}
=>
array(6) {
["id"]=> 5
["number"]=> "0001202203180001"
["goods_shelves"]=> "2H01JA01-03"
["goodsid"]=> "245093"
["name"]=> "凤品优作全铸铁真不锈炒锅(有盖)32cm/个"
["a_qty"]=> "3.00"
["b_qty"]=> "0.00"
["c_qty"]=> "0"
}
}
数组1:里面的qty变成了a_qty ,数组2:里面的qty变成了b_qty ,生成新的二维数组的c_qty 是进行数组1和数组2 goodsid相同 a_qty 等于 b_qty 那么c_qty 就为 a_qty如果不相等 或者有差异 那就是0
请问下 怎么在PHP 写个方法 实现上面的情况,请论坛大牛指点 之前在数据用union进行匹配查询,但是属于sql的慢查询,在并发高数据量大的时候,处理数据非常非常的慢。 所以现在转换成了2个二维数组,然后通过PHP 进行数据应该会比在mysql下数据处理的速度要快很多吧。 求大牛指点谢谢 数组比较麻烦,不知道你是什么语言的,最简单的办法是将数据导入sql,然后使用楼上说的union方法进行合并 psvajaz 发表于 2023-2-7 14:03
数组比较麻烦,不知道你是什么语言的,最简单的办法是将数据导入sql,然后使用楼上说的union方法进行合并
我之前就是在mysql中 用的union进行比较写的,但是处理高并发数据量大的情况下非常慢。 我用的是PHP PHP不清楚有什么快捷方式,我对C#比较熟悉,C#可以使用LINQ性能不叫快。
另外如果你的并发比较大,你可以做数据库的读写分离和用存储过程来实现。
如果数据量大,把数据从数据库读到php的变量,这里还有传输速度的损耗,不太建议在php中实现 psvajaz 发表于 2023-2-7 14:14
PHP不清楚有什么快捷方式,我对C#比较熟悉,C#可以使用LINQ性能不叫快。
另外如果你的并发比较大,你可以 ...
mysql这种我看都不建议写储存过程,哎!
我这个主要场景用在做盘点程序上面,手机端有app。 并发高,但是处理数据多的也就是200-300条那样,之前用union并发少的情况还可以,高的话就处理的非常非常慢。 我心思把2个表的数据通过条件茶不能出来 然后用foreach循环写一下,不过我想简单了没写出来。只能通过大牛在论坛请教了 看的不想python 应该是别的语言 laoda1228 发表于 2023-2-7 14:28
看的不想python 应该是别的语言
后端是PHP,在PHP中不知道怎么实现 不妨先把goodsid当成键值来写 祥哥 发表于 2023-2-7 14:51
不妨先把goodsid当成键值来写
老哥 ,请问下怎么写呢。:lol
页:
[1]
2