这是我的剧本
for ($i = 0; $i < $compatibilitycount; $i++) {
foreach ($xml->Item->ItemCompatibilityList->Compatibility[$i] as $compatibility ) {
if ($compatibility->Value != '') {
$value = $compatibility->Value . ',';
echo $value;
}
}
echo '<br />';
}
输出像这样的csv
2006,Chrysler,Sebring,Touring Sedan 4-Door,2.7L 2700CC 167Cu. In. V6 FLEX DOHC Naturally Aspirated,
2006,Chrysler,Sebring,Touring Sedan 4-Door,2.7L 2700CC 167Cu. In. V6 GAS DOHC Naturally Aspirated,
2006,Chrysler,Sebring,TSi Sedan 4-Door,2.7L 2700CC 167Cu. In. V6 GAS DOHC Naturally Aspirated,
2006,Dodge,Charger,Base Sedan 4-Door,2.7L 2700CC 167Cu. In. V6 GAS DOHC Naturally Aspirated,
我很难从每一行删除逗号。
我查看过去曾尝试使用implode()
rtrim()
的问题并将$value
放入数组中,但没有任何效果。这有点让我发疯,因为我确信解决方案很简单。
我的目标是将输出保存为csv(但首先我只是尝试正常回显输出)。
答案 0 :(得分:1)
正如其他人所指出的那样,有更好的方法可以使用本机PHP函数创建CSV,但是如果你仍然希望在这里进行编辑,那么你的代码可以在不使用rtrim
的情况下进行编辑或者array
来存储结果:
for ($i = 0; $i < $compatibilitycount; $i++) {
$first = true;
foreach ($xml->Item->ItemCompatibilityList->Compatibility[$i] as $compatibility ) {
if ($compatibility->Value != '') {
echo ($first ? '' : ',') . $compatibility->Value;
$first = false;
}
}
}
答案 1 :(得分:-1)
不要立即显示文字。 “缓存它”,然后显示它,但删除最后一个字符substr或rtrim
for ($i = 0; $i < $compatibilitycount; $i++) {
$result = '';
foreach ($xml->Item->ItemCompatibilityList->Compatibility[$i] as $compatibility ) {
if ($compatibility->Value != '') {
$result .= $compatibility->Value . ',';
}
}
echo substr($result, 0, -1) . '<br />';
// or echo rtrim($result, ',') . '<br />';
}