在PHP中使用foreach从JSON回显数据

在PHP中使用foreach从JSON回显数据,php,json,Php,Json,基本上我有两个JSON文件。一个JSON文件包含一组问题,第二个JSON文件包含用户答案。我想做的是从一个json文件中回显问题,并在div中从另一个文件中回显答案 我试着把一个foreach放在一个foreach中。这在一定程度上是可行的,但它会对每个答案重复多次问题 <?php $questions = "../induction.json"; $contents = file_get_contents($questions,0,null,null); $qArray = json_d

基本上我有两个JSON文件。一个JSON文件包含一组问题,第二个JSON文件包含用户答案。我想做的是从一个json文件中回显问题,并在div中从另一个文件中回显答案

我试着把一个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 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>


我猜,
$value['question']中有一个输入错误,它应该是
$value2['question']
因为您可以使用
$value2
回显正文内容。嵌套的foreach似乎是错误的<代码>foreach($qArrayA as$key2=>$
请发布正确的代码。@scaisEdge修复了这个问题,不知道为什么它会切断它。你不需要嵌套循环。它的作用是打印出第一个问题,然后循环所有答案。然后下一个问题显示所有答案,依此类推。你只需要一个带计数器的循环。
 echo$question[$i]
echo$answer[$i]