【问题标题】:echo current row number csv php回显当前行号 csv php
【发布时间】:2023-03-20 02:05:01
【问题描述】:

我搜索了其他答案,但它们都是基于 mysql 或过于复杂..

我的脚本工作正常,但我希望在我回显结果的 foreach 部分中回显行号(我正在这样做是为了最终找到行号,以便我可以添加删除行/行命令);

function ImportCSV2Array($filename)
{
$row = 0;
$col = 0;

$handle = @fopen($filename, "r");
if ($handle) 
{
    while (($row = fgetcsv($handle, 4096)) !== false) 
    {
        if (empty($fields)) 
        {
            $fields = $row;
            continue;
        }

        foreach ($row as $k=>$value) 
        {
            $results[$col][$fields[$k]] = $value;
        }
        $col++;
        unset($row);
    }
    if (!feof($handle)) 
    {
        echo "Error: unexpected fgets() failn";
    }
    fclose($handle);
}

return $results;

}

$filename = "file.csv";
$csvArray = ImportCSV2Array($filename);

foreach ($csvArray as $row)
{

echo " From: <input type=text name=from value='".$row['from']."'>";
echo "To: <input type=text name=to value='".$row['to']."'>";
echo whatwouldiput-here for line number?;

}

【问题讨论】:

  • 我试过 echo $row;它打印了 Array
  • 是的,该行的列数组,如果你这样做var_dump($row),你会得到什么
  • 它转储了整行...谢谢
  • 这是否帮助您解决了您的问题,我不确定我是否知道它是什么。如果你想要行号,你可以在循环中保留一个索引。
  • 它转储整行(像所有值一样)它不转储行号。你知道该怎么做提前谢谢。

标签: php csv row


【解决方案1】:

要保留索引,您可以这样做:

$i = 1;
foreach ($csvArray as $row)
{
   echo " From: <input type=text name=from value='".$row['from']."'>";
   echo "To: <input type=text name=to value='".$row['to']."'>";
   echo "Line number: ".$i;
   $i++;
}

【讨论】:

  • 谢谢,如果我想从文件中删除该行,我该怎么做?谢谢!
猜你喜欢
  • 2012-09-06
  • 1970-01-01
  • 1970-01-01
  • 2020-10-30
  • 1970-01-01
  • 1970-01-01
  • 2018-09-24
  • 1970-01-01
相关资源
最近更新 更多