PHP foreach 每条记录的数组列表

PHP foreach Array list for each record

当 运行 对嵌入多条记录的数组执行 foreach 循环时,我无法让数组只回显每条记录的一个数组集。相反,它在每个结果中显示每个实例的所有数组记录。我正在读取一个 CSV 文件,这个文件可以有 25 条记录或 500 条记录(记录的数量永远不知道),但是当读取 "Options" 字段时,所有记录的数组正在显示在结果中。这是我的代码 运行:

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

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

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

这是 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 文件中相关的记录,并结束每条记录的循环。请让我知道我遗漏了什么。

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

$output = '';

foreach 语句之前。