PHP foreach Список массивов для каждой записи

При выполнении цикла 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, и завершения цикла для каждой записи. Пожалуйста, дайте мне знать, что мне не хватает.

0

Решение

Вы не очищаете $input до цикла, поэтому он по-прежнему содержит элементы списка из предыдущей строки в CSV. Просто добавь

$output = '';

перед foreach заявление.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]