PHP foreach每个记录的数组列表

时间:2015-01-27 01:52:26

标签: php arrays loops foreach quit

当为嵌入多个记录的数组运行foreach循环时,我不能让数组每个记录只回显一个数组。相反,它会在每个结果中显示每个实例的所有数组记录。我正在读取一个CSV文件,这个文件可以有25条记录,或者500条记录(记录的数量从未知道),但在阅读"选项"字段,所有记录的数组,正在结果中显示。这是我正在运行的代码:

$option_list = explode(',', $csvdata['Options']);
foreach ($option_list as $feature) {
    $output .= '<li>' . $feature . '</li>';
}

$content = '<ul>' . $output . '</ul>';

如您所见,我只是创建一个无序列表。虽然我成功创建了无序列表,但&#34;选项&#34;字段在结果中显示为一个巨大的无序列表。它没有列出每个特定单个记录的单个数组。

以下是CSV格式:

Year     Make     Model     Color     Options (the array)
2010     Chevy    Camaro    Black     2dr, convertible, 6.2L, V8
2011     Dodge    Charger   Red       2dr, coupe, 3.6L, V6
2013     Ford     F250      Blue      4WD, Crew Cab, V10, Tow Package

输出会创建以下无序列表:

<ul>2010 Chevy Camaro Black
  <li>2dr
  <li>convertible
  <li>6.2L
  <li>V8
  <li>2dr
  <li>coupe
  <li>3.6L
  <li>V6
  <li>4WD
  <li>Crew Cab
  <li>V10
  <li>Tow Package</li></ul>

它为每条记录都这样做。我需要无序列表来表示它与CSV文件中的相关记录,并结束每条记录的循环。请让我知道我错过了什么。

1 个答案:

答案 0 :(得分:2)

您在循环之前没有清除$input,因此它仍然包含CSV中上一行的列表项。只需添加

$output = '';
foreach陈述之前