Page 1 of 1

Appending an Array

Posted: Sat Feb 16, 2008 9:18 pm
by misslilbit02
Hi,

I want to grab data from a .csv file and add all the data to the array. I have the part where I'm grabbing the data from the .csv file but the array issue I haven't totally figured out.

Currently, I'm not adding all the data just the last row of data to the array and need help trying to add all the data to the array. Can someone please help me accomplish this. This is what I have:

Code: Select all

 
<?php
global $info;
ini_set("auto_detect_line_endings", 1);
$current_row = 1;
$handle = fopen("adduser.csv", "r");
$info="";
while ( ($data = fgetcsv($handle, 10000, ",") ) !== FALSE )
{
    $number_of_fields = count($data);
    if ($current_row == 1)
    {
    //Header line
        for ($c=0; $c < $number_of_fields; $c++)
        {
            $header_array[$c] = $data[$c];
        }
    }
    else
    {
    //Data line
        for ($c=0; $c < $number_of_fields; $c++)
        {
            $data_array[$header_array[$c]] = $data[$c];
        }
        print_r($data_array);
        $info = $data_array;
    }
    $current_row++;
}
//buildBatchXML($data_array);
 
echo "<br><br>This is new data:<br><br>";
    foreach($info as $key => $value)
    {
        echo "$key - $value<br>";
    }
    
fclose($handle);
 
?>

Re: Appending an Array

Posted: Sun Feb 17, 2008 2:54 pm
by monkey56657
Since you are counting the current_row then you can use that in the processing.

Im not entirely sure what you are doing with the header bit lodged in the middle here...

$data_array[$header_array[$c]] = $data[$c];

But assuming you know whats going on there cant you just do...

$data_array[$current_row][$c] = $data[$c];

Yeah if you can explain whats going on with your header in the middle it would help...