为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 foreach 循环进行 json_decode?

如何使用 foreach 循环进行 json_decode?

PHP
狐的传说 2022-01-23 10:53:53
我正在尝试使用 foreach 循环解析表单提交的隐藏输入文本。<input type="hidden" id="snippet_tags" name="snippet_tags[]" value="["88","92","96","98"]">使用以下函数获取此信息$snippet_tags = json_decode($_POST['snippet_tags'], true);并使用 foreach 循环解析值foreach ($snippet_tags as $selectedOption){                        $ins_snippet_tag_data = array(                            'snippet_id' => $insertDataReturnLastId,                            'tag_id' => $selectedOption,                            'priority' => 1,                        );                 $this->Constant_model->insertDataReturnLastId('snippets_tags', $ins_snippet_tag_data);                }这里的问题是 tag_id 的值没有保存在数据库中
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

您不能使用相同的引号来分隔其中的值和字符串。您需要在值周围使用单引号。


<input type="hidden" id="snippet_tags" name="snippet_tags[]" value='["88","92","96","98"]'>

你写它的方式,它被视为你写value="["的,其余的被忽略。


此外,由于您[]在名称之后,$_POST['snippet_tags']将是一个数组,因此您需要对其进行循环。


foreach ($_POST['snippet_tags'] as $json) {

    $snippet_tags = json_decode($json, true);

    foreach ($snippet_tags as $selectedOption){

        $ins_snippet_tag_data = array(

            'snippet_id' => $insertDataReturnLastId,

            'tag_id' => $selectedOption,

            'priority' => 1,

        );

        $this->Constant_model->insertDataReturnLastId('snippets_tags', $ins_snippet_tag_data);

    }

}


查看完整回答
反对 回复 2022-01-23
  • 1 回答
  • 0 关注
  • 157 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号