【发布时间】:2018-06-07 18:18:44
【问题描述】:
我一直在尝试从 Rest 循环数据,并且我可以在没有网格的情况下执行此操作,但使用网格它就无法正常工作。这是我试图循环的源代码。
有错误的代码
<?php
$json = file_get_contents('https://newsapi.org/v2/everything?domains=wsj.com&apiKey=5d');
$news= ( json_decode($json, true));
$ii = 0;
foreach ($news["articles"] as $headling["articles"]) {?>
<div class="row"><?php
foreach ( $headling["articles"] as $i => $newsdata){?>
<?php if($ii==0){
?>
<div class="col-md-6">
<div class="card">
<div class="header">
<h4 class="title">Email Statistics</h4>
<p class="category">Last Campaign Performance</p>
</div>
<div class="content">
<img src="<?php echo $newsdata['urlToImage'];?>" style="width:100%;" /> <div class="footer">
<div class="legend">
<i class="fa fa-circle text-info"></i> Open
<i class="fa fa-circle text-danger"></i> Bounce
<i class="fa fa-circle text-warning"></i> Unsubscribe
</div>
<hr>
<div class="stats">
<i class="fa fa-clock-o"></i> Campaign sent 2 days ago
</div>
</div>
</div>
</div>
</div>
<?php
$ii =1 ;
}else{
?>
<div class="col-md-6">
<div class="card">
<div class="header">
<h4 class="title">Users Behavior</h4>
<p class="category">24 Hours performance</p>
</div>
<div class="content">
<img src="<?php echo $newsdata['urlToImage'];?>" style="width:100%;" /> <div class="footer">
<div class="footer">
<div class="legend">
<i class="fa fa-circle text-info"></i> Open
<i class="fa fa-circle text-danger"></i> Click
<i class="fa fa-circle text-warning"></i> Click Second Time
</div>
<hr>
<div class="stats">
<i class="fa fa-history"></i> Updated 3 minutes ago
</div>
</div>
</div>
</div>
</div>
<?php
$ii = 0;
}
}
?>
</div>
<?php
}
?>
问题? 它没有给我任何错误,我一直在尝试使用内部循环来做到这一点。但它不起作用这是截图。好吧,基本上我在想的是它没有循环行。 Here it is
编辑
循环内的循环是没用的。
【问题讨论】:
-
对于初学者来说,你在 if $ii == 0 中有一个额外的 /div
-
由于循环内循环,它重复了 10 条记录 10 次,你认为它为什么会发生,看看ibb.co/cNru8T
-
首先,您不应该共享您的 api 密钥。其次,似乎有 20 条记录,如果您在修复 div 后有超过 10 行,则最可能的罪魁祸首是您的循环。我会先修复你的 div,看看实际问题出在哪里。然后使用您的浏览器来获取 json,如果有超过 Articles/2 行,它是您将 json 解析为循环的方式。删除您的循环之一。走着瞧吧。像 foreach ( $headling["articles"] as $i => $newsdata){?> 及其对应的右括号。
-
感谢不需要内部循环,只需删除第一个循环并循环数据。谢谢兄弟。