打开浏览器时无法按正确顺序显示行和列。期望输出:hello,hello1,hello3,hello4,ff,hh,ii,jj实际输出:你好,ff, hello1 hh, hello3, ii, hello4, jj
我需要迭代列1,然后是列2。下面是我的CSV文件和PHP代码。
Name position
hello ff
hello1 hh
hello3 ii
hello4 jj
<?php
$file = fopen('joinUs.csv', "r");
while ($row = fgetcsv($file, 1000, ',')) {
$colCount = count($row);
for ($x=0; $x<$colCount; $x++) {
echo "<ul>";
echo "<li><a href='#".$row[$x]."'>$row[$x]|</a> </li>";
echo "</ul>";
}
}
fclose($file);
?>
请让我知道我如何在PHP中迭代第一列。我是PHP新手
据我所知,您想先浏览第一列,然后浏览第二列。如果我们可以假设你有一个逗号分隔的文件那么像这样的代码应该可以工作:
<?php
$file = fopen('joinUs.csv', "r");
# skip the first line with the titles.
fgets($file);
$first = array();
$second = array();
while ($row = fgetcsv($file, 1000, ','))
{
# first column
$first[] = trim($row[0]);
# second column
$second[] = trim($row[1]);
}
fclose($file);
echo "<ul>";
foreach( array_merge($first,$second) as $item )
{
echo "<li><a href='#".$item."'>".$item."|</a> </li>";
}
echo "</ul>";
?>
则输出为:
<ul>
<li><a href='#hello'>hello|</a> </li>
<li><a href='#hello1'>hello1|</a> </li>
<li><a href='#hello3'>hello3|</a> </li>
<li><a href='#hello4'>hello4|</a> </li>
<li><a href='#position'>position|</a> </li>
<li><a href='#ff'>ff|</a> </li>
<li><a href='#hh'>hh|</a> </li>
<li><a href='#ii'>ii|</a> </li>
<li><a href='#jj'>jj|</a> </li>
</ul>
这是假设您希望排序为hello,hello1,hello3,hello4,ff,hh,ii,jj。
可能有一个更有效的方法,但这应该会让你开始。