Login   Register  
PHP Classes
elePHPant
Icontem

File: CSVIterator_test.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Sam Shull  >  CSV Iterator  >  CSVIterator_test.php  
File: CSVIterator_test.php
Role: Example script
Content type: text/plain
Description: An example usage
Class: CSV Iterator
Manipulate data in CSV files as if they are arrays
 

Contents

Class file image Download
<?php
/**
 *    This package contains two classes for iterating over a csv file
 *    as though it were a native php array
 *
 *    @author Sam Shull <sam.shull@jhspecialty.com>
 *    @version 1.0
 *
 *    @copyright Copyright (c) 2009 Sam Shull <sam.shull@jhspeicalty.com>
 *    @license <http://www.opensource.org/licenses/mit-license.html>
 *
 *    Permission is hereby granted, free of charge, to any person obtaining a copy
 *    of this software and associated documentation files (the "Software"), to deal
 *    in the Software without restriction, including without limitation the rights
 *    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 *    copies of the Software, and to permit persons to whom the Software is
 *    furnished to do so, subject to the following conditions:
 *    
 *    The above copyright notice and this permission notice shall be included in
 *    all copies or substantial portions of the Software.
 *    
 *    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 *    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 *    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 *    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 *    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 *    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 *    THE SOFTWARE.
 *
 *
 *    Changes:
 *        07/08/2009 - added more examples and this
 *
 */

include 'CSVIterator.php';

//open an existing file and edit it
$csv = new CSVIterator('rpm_code.csv');

$i 0;

//display specific information
foreach ($csv as $key => $row)
{
    
$i += $i count($row)-: -$i;
    print 
"{$key}{$i}{$row[$i]}\n";
}

//automatically saves changes to the file
$csv[2][3] = "I changed this, and it will automatically be saved to the file";

//swap rows around
$a $csv[0];
$b $csv[3];

$csv[3] = $a;
$csv[0] = $b;

//add a row to the top of the file
$csv->prepend(array_pad(array('PREPEND'), $csv->maxCount'PAD'));


//insert a row after the 6th(5) row
$csv->insert(5array_pad(array('INSERT'), $csv->maxCount'PAD'));

//free up memory
$csv null;

//create a new file
$csv2 = new CSVIterator('new_file.csv');

//make the 1st line say hello
$csv2[0] = array('Say''Hello''world''!!');

//and copy the contents to another file
print (string)(int)$csv2->save('new_file2.csv');

?>