In article <[EMAIL PROTECTED]>, [EMAIL PROTECTED] 
says...
> Anthony Ritter wrote:
> > I am trying to access a website that has tab delimited data and use
> > PHP to open the file, read from the
> > file for output.
> >
> > I'd like to then place this data into an array, loop through the
> > array and output only the next to last record.
> >
> > Is there any way to loop through the following records - there are 96
> > - and keep only the *next to last last one* (which would be the most
> > current record) before hitting EOF.
> >
> > They store the records every 15 minutes for a 24 hour span.
> >
> > I do not need all 96 records - only the most current -  or - next to
> > last - record.
> 
> Read the file with the file function (http://www.php.net/file). This will
> give you an array, with each element representing a line in the original
> file.
> Pop the last element away (http://www.php.net/array_pop) twice. The second
> time you do this, store the element you will gain (pop will return the
> element it popped). There you have it...
> 
> In code:
> 
> <?
> $content = file(
> 'http://waterdata.usgs.gov/ny/nwis/uv?format=rdb&period=1&site_no=01420500' 
> );
> array_pop( $content );
> $current = array_pop( $content );
> ?>

OK - this is a fine candidate for 'how many ways can it be done?'. My 
contribution [NB untested]:

<?
$content = file( 
'http://waterdata.usgs.gov/ny/nwis/uv?format=rdb&period=1&site_no=01420500
');
$current = $content{count($content)-2};

Use count to find the number of elements and use count-2 to select the 
second-to-last element. Recall that the first element is [0].

Cheers
-- 
David Robley
Temporary Kiwi!

Quod subigo farinam

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to