吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 760|回复: 11
收起左侧

[求助] tp二维数组如何插入数据库

[复制链接]
comcn 发表于 2022-10-26 14:57
数组:
[PHP] 纯文本查看 复制代码
        $arr=[
            '1'=>[
               'https://www.baidu.com',
                'https://www.qq.com',
                'https://www.jd.com',
                'https://www.taobao.com',
                'https://www.1688.com',
                'https://www.goog.com',
            ],
            '2'=>[
               'https://www.baidu1.com',
                'https://www.qq1.com',
                'https://www.jd1.com',
                'https://www.taobao1.com',
                'https://www.16881.com',
                'https://www.goog1.com',
            ],
            '3'=>[
               'https://www.baidu2.com',
                'https://www.qq2.com',
                'https://www.jd2.com',
                'https://www.taobao2.com',
                'https://www.16882.com',
                'https://www.goog2.com',
            ],
            '4'=>[
               'https://www.baidu3.com',
                'https://www.qq3.com',
                'https://www.jd3.com',
                'https://www.taobao3.com',
                'https://www.16883.com',
                'https://www.goog3.com',
            ],
        ];
        return json($arr);


运行结果:
55.png
我需要把这些url插入数据表url字段,前面的1,2,3,4是page字段,使用的是thinkphp6框架,昨晚查了些资料,遍历数组啥的都没办法?来求助大佬们
也可以先插入1数组下的url,然后在插入2,3,4,
666.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

米饭大师 发表于 2022-10-26 14:59
1后面的用符号分割为字符串
 楼主| comcn 发表于 2022-10-26 15:00
米饭大师 发表于 2022-10-26 15:02
如果你前面的1234是这样顺序的数字你直接不要都行 用表的id    后面的url   https://www.baidu.com,https://www.qq.com,https://www.jd.com,以逗号分开就行了啊
米饭大师 发表于 2022-10-26 15:02
implode() 函数将数组转为字符串
 楼主| comcn 发表于 2022-10-26 15:08
米饭大师 发表于 2022-10-26 15:02
implode() 函数将数组转为字符串

1,2,3,4这个是page字段,需要写入数据库的,后期几百个url,都需要先转字符串吗
ぅ初秋 发表于 2022-10-26 15:09
本帖最后由 ぅ初秋 于 2022-10-26 15:24 编辑

[PHP] 纯文本查看 复制代码
foreach($arr as $ka => $va){
        foreach($va as $kb => $vb){
                $savedata = [];
                $savedata['page'] = $ka;
                $savedata['url'] = $vb;
                插入的语句(或者汇聚成数组用然后到foreach外面用insertAll)
        }
}


如果是1后面的所有url都只存一条的话就是
[PHP] 纯文本查看 复制代码
foreach($arr as $ka => $va){
                $savedata = [];
                $savedata['page'] = $ka;
                $savedata['url'] = json_encode($va);
                插入的语句(或者汇聚成数组用然后到foreach外面用insertAll)
}

 楼主| comcn 发表于 2022-10-26 15:22
ぅ初秋 发表于 2022-10-26 15:09
[mw_shl_code=php,true]foreach($arr as $ka => $va){
        foreach($va as $kb => $vb){
            ...

感谢大佬,解决了,我昨晚外面用foreach,里面用了个for,所以没有用
jiujiukeji 发表于 2022-10-26 15:45
saveAll() 你得处理一下数组  这个没有字段~
lzh68575536 发表于 2022-10-26 15:51
本帖最后由 lzh68575536 于 2022-10-27 14:42 编辑

[PHP] 纯文本查看 复制代码
$arr=[
            '1'=>[
                'https://www.baidu.com',
                'https://www.qq.com',
                'https://www.jd.com',
                'https://www.taobao.com',
                'https://www.1688.com',
                'https://www.goog.com',
            ],
            '2'=>[
                'https://www.baidu1.com',
                'https://www.qq1.com',
                'https://www.jd1.com',
                'https://www.taobao1.com',
                'https://www.16881.com',
                'https://www.goog1.com',
            ],
            '3'=>[
                'https://www.baidu2.com',
                'https://www.qq2.com',
                'https://www.jd2.com',
                'https://www.taobao2.com',
                'https://www.16882.com',
                'https://www.goog2.com',
            ],
            '4'=>[
                'https://www.baidu3.com',
                'https://www.qq3.com',
                'https://www.jd3.com',
                'https://www.taobao3.com',
                'https://www.16883.com',
                'https://www.goog3.com',
            ],
        ];
        $sqlDate = [];
        foreach($arr as $key=>$value){
            foreach($value as $val){
                $data = [
                    'page'=>$key,
                    'url'=>$val,
                ];
            $sqlDate[] = $data;
            }
        //$sqlDate[] = $data;//上一版问题
        }
        Db::name('xxxx')->insertAll($sqlDate);

免费评分

参与人数 2吾爱币 +2 热心值 +1 收起 理由
88868 + 1 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
comcn + 1 热心回复!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表