Я пытаюсь определить конец цикла foreach, который заполнен коллекцией DOMNodeList. В настоящее время я использую цикл for, чтобы избежать наличия «магического» числа. Я знаю, что будет только 8 столбцов, но я хотел бы, чтобы код был общим для других приложений.
Можно ли преобразовать это в цикл Foreach? Я пробовал функции end () и next (), но они не возвращают никаких данных, и я подозреваю, что они работают только с массивами, а не с этой коллекцией DOMNodeList.
Код создает файл CSV без завершающего символа ','
Токовый выход:
«Значение 1», «Значение 2», «Значение 3», «Значение 4», «Значение 5», «Значение 6», «Значение 7», «Значение 8»
Вот пример кода:
$cols = $row->getElementsByTagName("td");
$printData = true;
// Throw away the header row
if ($isFirst && $printData) {
$isFirst = false;
continue;
}
for ($i = 0; $i <= 8; $i++) {
$output = iconv("UTF-8", "ASCII//IGNORE", $cols->item($i)->nodeValue);
$output2 = trim($output);
if ($i == 8) {
// Last Column
echo "\"" . $output2 . "\"" . "\n";
} else {
echo "\"" . $output2 . "\"" . ",";
}
}