php - 在 PHP 中使用 foreach 回显来自 JSON 的数据
问题描述
基本上我拥有的是两个 JSON 文件。一个 JSON 文件包含一组问题,第二个 JSON 文件包含用户答案。我想要做的是从一个 json 文件中回显问题,并在 div 中回显另一个 json 文件中的答案。
我尝试在 foreach 中放置一个 foreach。这在一定程度上确实有效,但每个答案都会多次重复问题。
<?php
$questions = "../induction.json";
$contents = file_get_contents($questions,0,null,null);
$qArray = json_decode($contents, JSON_PRETTY_PRINT);
$answers = $user."_induction.json";
$contentsA = file_get_contents($answers,0,null,null);
$qArrayA = json_decode($contentsA, JSON_PRETTY_PRINT);
?>
<div role="tabpanel" class="tab-pane fade" id="messages_with_icon_title">
<b>Quiz</b>
<?php
$num = 0;
foreach($qArray as $key => $value){
foreach($qArrayA as $key2 => $value2){
?>
<form method="POST">
<div class="row clearfix">
<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">
<div class="card">
<div class="header">
<h2><?php echo $value['question']; ?></h2>
</div>
<div class="body">
<?php
echo $value2;
?>
</div>
</div>
</div>
</div>
<?php }
} ?>
<input type="submit" class="btn btn-success waves-effect" name="submit" value="Submit" />
</form>
</div>
解决方案
这就是循环的样子。请注意,我将<form>
标签拉出循环,因为它不应该在里面。
<form method="POST">
<?php
for ($i = 0; $i < count($qArray); $i++)
{
?>
<div class="row clearfix">
<div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">
<div class="card">
<div class="header">
<h2><?php echo $qArray[$i]; ?></h2>
</div> <!-- .header -->
<div class="body">
<?php echo $qArrayA[$i]; ?>
</div> <!-- .body -->
</div> <!-- .card -->
</div> <!-- .col-lg-4 -->
</div> <!-- .row -->
<?php } ?>
<input type="submit" class="btn btn-success waves-effect" name="submit" value="Submit" />
</form>
推荐阅读
- java - 找不到类 java.util.concurrent.Executors
- angular - Angular6:使用本地库时没有注入器提供程序
- angular - Angular 2+,有什么方法可以声明一个模块中的所有组件,然后在 app.module.ts 中导入?
- ios - 拍照不保存到手机
- android - 在 ListView 的选定项目中显示复选标记
- linux - 从文本中 bash grep 字符串并发送电子邮件
- python - 如何从字典中删除重复的键值
- mysql - 数据库表的命名决策
- python - 为什么相同的python代码有不同的时钟时间?
- apache-kafka - 在 Kafka 集群中添加新的 ZooKeeper 节点?