gpt4 book ai didi

php - 更改二维数组以实现 Codeigniter 兼容性批量插入

转载 作者:行者123 更新时间:2023-11-29 18:27:35 24 4
gpt4 key购买 nike

[{
"synonyms": [{
"synonyms": "s1",
"wordId": 117
}, {
"synonyms": "s2",
"wordId": 117
}, {
"synonyms": "s3",
"wordId": 117
}, {
"synonyms": "s4",
"wordId": 117
}]
}, {
"synonyms": [{
"synonyms": "s5",
"wordId": 118
}, {
"synonyms": "s6",
"wordId": 118
}, {
"synonyms": "s7",
"wordId": 118
}]
}]

我试图添加上面的数组以进行 Codeigniter 批量插入,但失败了。如何转换上面的数组以插入到mysql数据库

最佳答案

除此之外,您到目前为止还没有显示任何尝试过的内容,您必须了解您发布的字符串不是数组 - 而是 JSON 字符串。

为了实现您想要的效果,您必须解码该字符串 - 根据下面的示例,您应该能够理解如何做到这一点

class Your_Model extends CI_Model
{
public function insert()
{
$strJson = '[{
"synonyms": [{
"synonyms": "s1",
"wordId": 117
}, {
"synonyms": "s2",
"wordId": 117
}, {
"synonyms": "s3",
"wordId": 117
}, {
"synonyms": "s4",
"wordId": 117
}]
}, {
"synonyms": [{
"synonyms": "s5",
"wordId": 118
}, {
"synonyms": "s6",
"wordId": 118
}, {
"synonyms": "s7",
"wordId": 118
}]
}]';

$arrData = json_decode($strJson);


foreach($arrData AS $obj)
{
foreach($obj->synonyms AS $objSynonym)
{
$arrInsertData = [
"synonyms" => $objSynonym->synonyms,
"wordId" => $objSynonym->wordId
];

$this->db->insert("your_table", $arrInsertData);
}
}

}
}

如您所见,insert_batch 不是必需的,因为无论如何您都必须迭代数组。

关于php - 更改二维数组以实现 Codeigniter 兼容性批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46032830/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com