数组的处理问题,遍历后有的数据不知道哪去了

_IronBear 2018-01-23 04:54:35
第一个数组:applyArr
array(8) {
[0] => array(2) {
[0] => array(14) {
["danName"] => string(6) "甲烷"
["standard"] => string(3) "CH4"
["danCate"] => string(15) "易燃性气体"
["price"] => string(5) "10.00"
["unit"] => string(9) "立方米"
["stock"] => int(5)
["id"] => int(41)
["date"] => string(19) "2018-01-12 11:16:23"
["operator"] => string(5) "admin"
["remark"] => string(18) "甲烷领用测试"
["borrower"] => string(5) "aut77"
["num"] => int(5)
["title"] => string(9) "安环部"
["deptId"] => int(3)
}
["sum"] => int(50)
}
[1] => array(4) {
[0] => array(14) {
["danName"] => string(6) "硫磺"
["standard"] => string(13) "GB/T2449-2006"
["danCate"] => string(18) "易燃性固体233"
["price"] => string(6) "120.00"
["unit"] => string(2) "kg"
["stock"] => int(69)
["id"] => int(1)
["date"] => string(19) "2018-01-15 14:37:29"
["operator"] => string(0) ""
["remark"] => string(21) "硫磺领用测试233"
["borrower"] => string(5) "admin"
["num"] => int(4)
["title"] => string(9) "行政部"
["deptId"] => int(2)
}
[1] => array(14) {
["danName"] => string(6) "乙烷"
["standard"] => string(3) "YW1"
["danCate"] => string(15) "易燃性气体"
["price"] => string(5) "10.00"
["unit"] => string(2) "KG"
["stock"] => int(85)
["id"] => int(1)
["date"] => string(19) "2018-01-12 15:08:04"
["operator"] => string(5) "admin"
["remark"] => string(21) "乙烷领用测试123"
["borrower"] => string(5) "admin"
["num"] => int(20)
["title"] => string(9) "行政部"
["deptId"] => int(2)
}
[2] => array(14) {
["danName"] => string(6) "乙烷"
["standard"] => string(3) "YW1"
["danCate"] => string(15) "易燃性气体"
["price"] => string(5) "10.00"
["unit"] => string(2) "KG"
["stock"] => int(85)
["id"] => int(1)
["date"] => string(19) "2018-01-12 15:08:11"
["operator"] => string(5) "admin"
["remark"] => string(21) "乙烷领用测试456"
["borrower"] => string(5) "admin"
["num"] => int(2)
["title"] => string(9) "行政部"
["deptId"] => int(2)
}
["sum"] => int(700)
}
[2] => array(0) {
}
[3] => array(0) {
}
[4] => array(0) {
}
[5] => array(0) {
}
[6] => array(0) {
}
[7] => array(0) {
}
}

第二个数组:dept
array(8) {
[0] => array(8) {
["id"] => int(1)
["title"] => string(10) " 总经办"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(1)
["remark"] => string(0) ""
}
[1] => array(8) {
["id"] => int(2)
["title"] => string(38) "     行政部"
["parentid"] => int(1)
["child"] => int(0)
["status"] => int(1)
["rules"] => string(17) "13,14,6,16,15,8,7"
["listorder"] => int(1)
["remark"] => string(0) ""
}
[2] => array(8) {
["id"] => int(3)
["title"] => string(10) " 安环部"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(2)
["remark"] => string(0) ""
}
[3] => array(8) {
["id"] => int(6)
["title"] => string(10) " 生产部"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(3)
["remark"] => string(0) ""
}
[4] => array(8) {
["id"] => int(8)
["title"] => string(10) " 设备部"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(4)
["remark"] => string(0) ""
}
[5] => array(8) {
["id"] => int(17)
["title"] => string(22) " 危化品仓库管控"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(5)
["remark"] => string(21) "危化品仓库管控"
}
[6] => array(8) {
["id"] => int(18)
["title"] => string(44) "     危化品仓库"
["parentid"] => int(17)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(1)
["remark"] => string(0) ""
}
[7] => array(8) {
["id"] => int(22)
["title"] => string(44) "     剧毒品仓库"
["parentid"] => int(17)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(2)
["remark"] => string(0) ""
}
}

处理后的dept数组:
array(8) {
[0] => array(8) {
["id"] => int(1)
["title"] => string(10) " 总经办"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(1)
["remark"] => string(0) ""
}
[1] => array(9) {
["id"] => int(2)
["title"] => string(38) "     行政部"
["parentid"] => int(1)
["child"] => int(0)
["status"] => int(1)
["rules"] => string(17) "13,14,6,16,15,8,7"
["listorder"] => int(1)
["remark"] => string(0) ""
["data"] => array(4) {
[0] => array(14) {
["danName"] => string(6) "硫磺"
["standard"] => string(13) "GB/T2449-2006"
["danCate"] => string(18) "易燃性固体233"
["price"] => string(6) "120.00"
["unit"] => string(2) "kg"
["stock"] => int(69)
["id"] => int(1)
["date"] => string(19) "2018-01-15 14:37:29"
["operator"] => string(0) ""
["remark"] => string(21) "硫磺领用测试233"
["borrower"] => string(5) "admin"
["num"] => int(4)
["title"] => string(9) "行政部"
["deptId"] => int(2)
}
[1] => array(14) {
["danName"] => string(6) "乙烷"
["standard"] => string(3) "YW1"
["danCate"] => string(15) "易燃性气体"
["price"] => string(5) "10.00"
["unit"] => string(2) "KG"
["stock"] => int(85)
["id"] => int(1)
["date"] => string(19) "2018-01-12 15:08:04"
["operator"] => string(5) "admin"
["remark"] => string(21) "乙烷领用测试123"
["borrower"] => string(5) "admin"
["num"] => int(20)
["title"] => string(9) "行政部"
["deptId"] => int(2)
}
[2] => array(14) {
["danName"] => string(6) "乙烷"
["standard"] => string(3) "YW1"
["danCate"] => string(15) "易燃性气体"
["price"] => string(5) "10.00"
["unit"] => string(2) "KG"
["stock"] => int(85)
["id"] => int(1)
["date"] => string(19) "2018-01-12 15:08:11"
["operator"] => string(5) "admin"
["remark"] => string(21) "乙烷领用测试456"
["borrower"] => string(5) "admin"
["num"] => int(2)
["title"] => string(9) "行政部"
["deptId"] => int(2)
}
["sum"] => int(700)
}
}
[2] => array(8) {
["id"] => int(3)
["title"] => string(10) " 安环部"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(2)
["remark"] => string(0) ""
}
[3] => array(8) {
["id"] => int(6)
["title"] => string(10) " 生产部"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(3)
["remark"] => string(0) ""
}
[4] => array(8) {
["id"] => int(8)
["title"] => string(10) " 设备部"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(4)
["remark"] => string(0) ""
}
[5] => array(8) {
["id"] => int(17)
["title"] => string(22) " 危化品仓库管控"
["parentid"] => int(0)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(5)
["remark"] => string(21) "危化品仓库管控"
}
[6] => array(8) {
["id"] => int(18)
["title"] => string(44) "     危化品仓库"
["parentid"] => int(17)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(1)
["remark"] => string(0) ""
}
[7] => array(8) {
["id"] => int(22)
["title"] => string(44) "     剧毒品仓库"
["parentid"] => int(17)
["child"] => int(1)
["status"] => int(1)
["rules"] => string(0) ""
["listorder"] => int(2)
["remark"] => string(0) ""
}
}

想要的结果应该是在最终的结果数组里下标2的安环部里应该有个data元素,应该是applyArr中的0元素
这是处理的代码:
foreach ($applyArr as $key => $value) {
foreach ($value as $k => $v) {
if(is_array($v) && !is_null($v['deptId'])){
if($v['deptId'] == $dept[$key]['id']){
$dept[$key]['data'] = $value;
}
}
}
}

不知道问题出在哪啊,大家帮帮忙看看
...全文
570 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2018-01-24
  • 打赏
  • 举报
回复
foreach($dept as $i=>$r) {
  foreach($applyArr as $d) {
    $t = array_filter($d, function($v) use ($r) { return $r['id'] == $v['deptId'];});
    if($t) $dept[$i]['data'] = array_merge(isset($dept[$i]['data']) ? $dept[$i]['data'] : array(), $t);
  }
}
print_r($dept);

Array
(
    [0] => Array
        (
            [id] => 1
            [title] =>  总经办
            [parentid] => 0
            [child] => 1
            [status] => 1
            [rules] => 
            [listorder] => 1
            [remark] => 
        )

    [1] => Array
        (
            [id] => 2
            [title] =>       行政部
            [parentid] => 1
            [child] => 0
            [status] => 1
            [rules] => 13,14,6,16,15,8,7
            [listorder] => 1
            [remark] => 
            [data] => Array
                (
                    [0] => Array
                        (
                            [danName] => 硫磺
                            [standard] => GB/T2449-2006
                            [danCate] => 易燃性固体233
                            [price] => 120.00
                            [unit] => kg
                            [stock] => 69
                            [id] => 1
                            [date] => 2018-01-15 14:37:29
                            [operator] => 
                            [remark] => 硫磺领用测试233
                            [borrower] => admin
                            [num] => 4
                            [title] => 行政部
                            [deptId] => 2
                        )

                    [1] => Array
                        (
                            [danName] => 乙烷
                            [standard] => YW1
                            [danCate] => 易燃性气体
                            [price] => 10.00
                            [unit] => KG
                            [stock] => 85
                            [id] => 1
                            [date] => 2018-01-12 15:08:04
                            [operator] => admin
                            [remark] => 乙烷领用测试123
                            [borrower] => admin
                            [num] => 20
                            [title] => 行政部
                            [deptId] => 2
                        )

                    [2] => Array
                        (
                            [danName] => 乙烷
                            [standard] => YW1
                            [danCate] => 易燃性气体
                            [price] => 10.00
                            [unit] => KG
                            [stock] => 85
                            [id] => 1
                            [date] => 2018-01-12 15:08:11
                            [operator] => admin
                            [remark] => 乙烷领用测试456
                            [borrower] => admin
                            [num] => 2
                            [title] => 行政部
                            [deptId] => 2
                        )

                )

        )

    [2] => Array
        (
            [id] => 3
            [title] =>  安环部
            [parentid] => 0
            [child] => 1
            [status] => 1
            [rules] => 
            [listorder] => 2
            [remark] => 
            [data] => Array
                (
                    [0] => Array
                        (
                            [danName] => 甲烷
                            [standard] => CH4
                            [danCate] => 易燃性气体
                            [price] => 10.00
                            [unit] => 立方米
                            [stock] => 5
                            [id] => 41
                            [date] => 2018-01-12 11:16:23
                            [operator] => admin
                            [remark] => 甲烷领用测试
                            [borrower] => aut77
                            [num] => 5
                            [title] => 安环部
                            [deptId] => 3
                        )

                )

        )

    [3] => Array
        (
            [id] => 6
            [title] =>  生产部
            [parentid] => 0
            [child] => 1
            [status] => 1
            [rules] => 
            [listorder] => 3
            [remark] => 
        )

    [4] => Array
        (
            [id] => 8
            [title] =>  设备部
            [parentid] => 0
            [child] => 1
            [status] => 1
            [rules] => 
            [listorder] => 4
            [remark] => 
        )

    [5] => Array
        (
            [id] => 17
            [title] =>  危化品仓库管控
            [parentid] => 0
            [child] => 1
            [status] => 1
            [rules] => 
            [listorder] => 5
            [remark] => 危化品仓库管控
        )

    [6] => Array
        (
            [id] => 18
            [title] =>       危化品仓库
            [parentid] => 17
            [child] => 1
            [status] => 1
            [rules] => 
            [listorder] => 1
            [remark] => 
        )

    [7] => Array
        (
            [id] => 22
            [title] =>       剧毒品仓库
            [parentid] => 17
            [child] => 1
            [status] => 1
            [rules] => 
            [listorder] => 2
            [remark] => 
        )

)
qq_34139573 2018-01-23
  • 打赏
  • 举报
回复
建议你把dept数组数组先处理先,把id作为一维的键 然后再修改你的代码
foreach ($applyArr as $key => $value) {
    foreach ($value as $k => $v) {
        if(is_array($v) && !is_null($v['deptId'])){
            if(isset($dept[$v['deptId']])){
                $dept[$v['deptId']]['data'] = $value;
            }
        }
    }
}
qq_33911195 2018-01-23
  • 打赏
  • 举报
回复

框住的部分有问题

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧