PHP foreach 每条记录的数组列表


PHP foreach Array list for each record

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

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

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

这是 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声明之前。