我有几个文本文件,每个文本文件包含4条关于电影评论的信息。
第一行是引号-评论。 第二行是评分。新鲜的图标或烂图标,模仿烂番茄。 第三是审稿人的名字。 最后是公司。
根据我的研究,我假设我需要使用array_chunk函数,但是我不确定如何实现它以解决此问题。我对PHP还是很陌生,因此无法在代码中实现文档中的内容。
我能够分解每个文件并根据需要显示信息,用以下代码减去两列:
echo "<div class=\"reviews\">";
$files = glob(getFile($dir,"review*.txt"));
foreach ($files as $file) {
$lines = array(file($file));
foreach ($lines as $line) {
$rating = ($line[1]=="FRESH\n") ? "fresh.gif" : "rotten.gif";
echo "<p class=\"quotes\"><img src='$rating'><q>$line[0]</q></p>";
echo "<p>$line[2]</p>";
echo "<p>$line[3]</p>";
}
}
echo "</div>";
我将如何去做?
此外,如果我有13条评论,则前6条应该在左列中,而后7条应该在右侧。
榆树街上梦reviews的评论示例(5个文件,每行四行)
The script is consistently witty, the camera work (by cinematographer Jacques Haitkin) crisp and expressive.
FRESH
Paul Attanasio
Washington Post
A highly imaginative horror film that provides the requisite shocks to keep fans of the genre happy.
FRESH
Variety Staff
Variety
Craven vitalizes the nightmare sequences with assorted surrealist novelties.
FRESH
J. R. Jones
Chicago Reader
Great build-up, the suspense and apprehension, getting you invested in a sequence...this movie has that.
FRESH
Chris Stuckmann
ChrisStuckmann.com
What makes the movie work is so simple and economical-you snooze, you die. I've always admired its simplicity.
FRESH
Sean Fennessey
The Ringer
因此,此特定页面的左侧为2条评论,右侧为3条评论。每行都是我的行数组之一
答案 0 :(得分:1)
由于我可以在您的代码中看到HTML,因此我假设这两列将输出到浏览器窗口中。因此,我们可以使用HTML添加两列。
这不会改变您的原始代码和样式太多,这就是我要做的。而且您将不得不试着将CSS修改为适合该代码所在的当前环境。
<style>
.reviews {
width:100%;
border: 0;
margin: 0;
padding: 0;
}
.column {
width: calc(50% - 2px);
display: inline-block;
}
</style>
<?php
echo "<div class=\"reviews\">";
$files = glob(getFile($dir,"review*.txt"));
foreach ($files as $file) {
$lines = array(file($file));
foreach ($lines as $line) {
echo "<div class=\"column\">;
$rating = ($line[1]=="FRESH\n") ? "fresh.gif" : "rotten.gif";
echo "<p class=\"quotes\"><img src='$rating'><q>$line[0]</q></p>";
echo "<p>$line[2]</p>";
echo "<p>$line[3]</p>";
echo "</div>"
}
}
echo "</div>";
?>
关于PHP模板的注释:我将采用上述样式来代替PHP的 echoes :
<?php
$files = glob(getFile($dir,"review*.txt"));
?>
<style>
.reviews {
width:100%;
border: 0;
margin: 0;
padding: 0;
}
.column {
width: calc(50% - 2px);
display: inline-block;
}
</style>
<div class="reviews">
<?php
foreach ($files as $file):
$lines = array(file($file));
foreach ($lines as $line):
$rating = ($line[1]=="FRESH\n") ? "fresh.gif" : "rotten.gif";
?>
<div class="column">
<p class="quotes"><img src="<?=$rating?>"><q><?=$line[0]?></q></p>
<p><?=$line[2]?></p>
<p><?=$line[3]?></p>
</div>
<?php
endforeach;
endforeach;
?>
</div>