目前我这样做:
$lines = file('data/index');
foreach ($lines as $value)
list($title, $location) = explode("|", $value);
echo '<div id="entry"><a href="'.$location.'">'.$title.'</a></div>';
Run Code Online (Sandbox Code Playgroud)
而且内容data/index是:
This is a test post|http://google.com
Another test post|http://google.com
Run Code Online (Sandbox Code Playgroud)
但是,它只打印出该文件的最后一行.几乎每个"回声"都被新的覆盖.我显然没有正确地做到这一点.为什么它不起作用,我怎样才能让它以我想要的方式运行?
在您的代码中,只有第三行是循环的一部分.如果要在循环中同时包含两个语句,则必须创建一个块:
foreach ($lines as $value) {
list($title, $location) = explode("|", $value);
echo '<div id="entry"><a href="'.$location.'">'.$title.'</a></div>';
}
Run Code Online (Sandbox Code Playgroud)
此外,echo应避免使用PHP进行HTML.您应该将PHP嵌入到HTML中.它使您的代码,尤其是您的HTML标记更易于维护,并且不易出错.
参考:foreach
| 归档时间: |
|
| 查看次数: |
243 次 |
| 最近记录: |