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

如何从php中的JSON对象数组中读取?

如何从php中的JSON对象数组中读取?

PHP
慕尼黑的夜晚无繁华 2021-11-05 16:17:35
我有一个html 代码,如下所示。以下 html 代码显示复选框列表,如代码下方的屏幕截图所示。 <?php              $output['toggle_multi_tiles']=$_POST['toggle_multi_tiles'];          $output['episode_status']=$_POST['episode_status'];        $fp = fopen('../feeds/ptp-ess_landing.json', 'w');        fwrite($fp, json_encode($output));        fclose($fp);        logActivity();        if(file_exists('../feeds/ptp-ess_landing.json')){        $data = json_decode(file_get_contents('../feeds/ptp-ess_landing.json'));        } ?> <?php if($data){ ?>    <fieldset style="background-color:darkseagreen;">       <input type="checkbox" id="ptp" value="0" name="toggle_multi_tiles[]" <?php if($data->{"toggle_multi_tiles[]"}==0){echo          'checked';}?>>       <label for="toggle-multi-off">PTP</label>       <input type="checkbox" id="l'e" value="1" name="toggle_multi_tiles[]" <?php if($data->{"toggle_multi_tiles[]"}==1){echo          'checked';}?>>       <label for="position-one">L'E</label>       <div>          <button type="submit">Save</button>   //Line A       </div>    </fieldset><?php }  ?>从上面的屏幕截图中选择前 2 个复选框后,点击 A 行的保存按钮,所有内容都保存在 JSON 中,如下所示:{"toggle_multi_tiles":["0","1"]}问题陈述:我现在遇到的问题是在保存了 2 个复选框之后,页面刷新时显示的唯一复选框是第一个(不是两个)。($data->{"toggle_multi_tiles[]"}==0) 从 html 代码读取 JSON。($data->{"toggle_multi_tiles[]"}==1) 从 html 代码读取 JSON。
查看完整描述

1 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

对象中的关键是toggle_multi_tiles,不是toggle_multi_tiles[],$data->{"toggle_multi_tiles[]"}应该是$data->toggle_multi_tiles。


这个属性的值是一个字符串数组,可以in_array()用来测试里面是否有一个值。


<input type="checkbox" id="ptp" value="0" name="toggle_multi_tiles[]" <?php if(in_array("0", $data->toggle_multi_tiles)){echo

  'checked';}?>>

<label for="toggle-multi-off">PTP</label>

<input type="checkbox" id="l'e" value="1" name="toggle_multi_tiles[]" <?php if(in_array("1", $data->toggle_multi_tiles)){echo

  'checked';}?>>


查看完整回答
反对 回复 2021-11-05
  • 1 回答
  • 0 关注
  • 233 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信