我从一个php循环中获得了两倍的输出

我从一个php循环中获得了两倍的输出,php,csv,fgetcsv,Php,Csv,Fgetcsv,我的数据输出了两次,我不知道为什么。每行应该有一个fname和lname <?php $row = 1; if (($handle = fopen("nameList1.txt", "r")) !== FALSE) { while (($data = fgetcsv($handle, 1000, " ")) !== FALSE) { $num = count($data); //$result = explode($data);

我的数据输出了两次,我不知道为什么。每行应该有一个fname和lname

<?php

$row = 1;
if (($handle = fopen("nameList1.txt", "r")) !== FALSE) {
    while (($data = fgetcsv($handle, 1000, "    ")) !== FALSE) {
        $num = count($data);
        //$result = explode($data);
        echo "<br />\n";
        $row++;
        for ($c=0; $c < $num; $c++) {
                //echo $data[$c];
                echo $data[0];
                echo " ";
                echo $data[1];
        }
    }
    fclose($handle);
}
试试这个

$row=1;
if($handle=fopen(“nameList1.txt”,“r”)!==FALSE){
while(($data=fgetcsv($handle,1000,“”)!==FALSE){
$num=计数($data);
//$result=explode($data);
回显“
\n”; $row++; echo$数据[0]; 回声“; echo$数据[1]; } fclose($handle); }
或者如果您绝对想使用for语句:

for ($c=0; $c < $num; $c++) {
    echo $data[$c] . " ";
}
($c=0;$c<$num;$c++)的
{
echo$数据[$c]。“”;
}

您两次获得所有csv字段,因为while循环中的forloop从0到开始,它应该是1到或0到尝试以下操作:

$file = $_FILES[csv][tmp_name]; 
    $handle = fopen($file,"r"); 

    //loop through the csv file and insert into database 
    do { 
        if ($data[0]) { 
            $record['contact_email'] = $data[2];
            $record['subject'] = $_REQUEST['subject'];
            $record['message'] = $_REQUEST['message'];
            $record['status'] = 0;

            $oAdminEmail->insertQueEmail($record);
            } 
    } while ($data = fgetcsv($handle,1000,",","'")); 

我认为您不需要for()。请删除内部for循环,然后重试。您不需要内部for循环就是这样。非常感谢。
echo $data[0];
echo $data[0];
for ($c=0; $c < $num; $c++) {
    echo $data[$c] . " ";
}
$file = $_FILES[csv][tmp_name]; 
    $handle = fopen($file,"r"); 

    //loop through the csv file and insert into database 
    do { 
        if ($data[0]) { 
            $record['contact_email'] = $data[2];
            $record['subject'] = $_REQUEST['subject'];
            $record['message'] = $_REQUEST['message'];
            $record['status'] = 0;

            $oAdminEmail->insertQueEmail($record);
            } 
    } while ($data = fgetcsv($handle,1000,",","'"));