我的数据正在输出两次,我并不肯定为什么。它应该是每行一个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);
}
.

** * ** 输出 ** * ** * **

Nancy AlvordNancy Alvord
Lucy HadacLucy Hadac
Laura LundgrenLaura Lundgren
Judy PigottJudy Pigott
Thomas BayleyThomas Bayley
Barbara BrownBarbara Brown
Aaron DixonAaron Dixon
Jennifer HadlockJennifer Hadlock
Molly AdolfsonMolly Adolfson
Susan AnsteadSusan Anstead
Shannon BraddockShannon Braddock
Isa D’ArleansIsa D’Arleans
Elizabeth DavisElizabeth Davis
William DonnellyWilliam Donnelly
.

有帮助吗?

解决方案

for ($c=0; $c < $num; $c++) {
    echo $data[0] . " " . $data[1];
}
.

正如您所拥有的2个不同的数据(fname,lname)$ num始终等于2。

so so,您将打印出$ data [0]和$ data [1];)

你必须做:

echo $data[0];
echo $data[0];
.

或者如果您绝对想要使用for语句:

for ($c=0; $c < $num; $c++) {
    echo $data[$c] . " ";
}
.

其他提示

试试这个

$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++;
    echo $data[0];
    echo " ";
    echo $data[1];
}
fclose($handle);
}

试试:

$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,",","'")); 
.

您正在获取所有CSV文件两次,因为循环中的for循环从0开始,它应该是1到或0到

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top