Entry
how can I take a list and make each row a value in an array?
Feb 19th, 2008 22:03
dman, Philip Olson, Techek, Ionized Hydronium, http://www.ttnr.org
If you have a text file that looks like this :
phil|orange|cow
joe|green|goat
sam|red|dog
Each line can magically be an element in the array using the PHP file()
function, like so :
$lines = file('info.txt');
print $lines[0]; // phil|orange|cow
print $lines[1]; // joe|green|goat
print $lines[2]; // sam|red|dog
Using explode() will help seperate the lines by the seperator, which in
this case is a '|' , the following will loop through the text file,
explode each line and print out the given parts. We're assuming that
the text file (info.txt) has this format :
name|color|animal
name|color|animal
name|color|animal
<?php
$lines = file('info.txt');
foreach ($lines as $line) {
$p = explode('|', $line);
echo $p[0]; // prints name
echo $p[1]; // prints color
echo $p[2]; // prints animal
}
?>
In the above, we could replace:
$p = explode('|', $line);
With:
list($name, $color, $animal) = explode('|', $line);
To create/define more _friendly_ variables to play with.
Related manual entries are as follows :
explode -- Split a string by string
http://www.php.net/manual/function.explode.php
foreach
http://www.php.net/manual/control-structures.foreach.php
http://www.php.net/manual/control-structures.php
file -- Reads entire file into an array
http://www.php.net/manual/function.file.php
II. Array Functions
http://www.php.net/manual/ref.array.php