dreampho Posted January 26, 2013 Share Posted January 26, 2013 Hi. I am trying to grab the live exchange rates from Yahoo. I am able to get the first rate (GBP-USD) but cant output the second (GBP-EUR). When I echo out out $results[1]; it says 'Message: Undefined offset: 1'. Can anyone show me what I am doing wrong here? <?php $url = 'http://finance.yahoo.com/d/quotes.csv?f=l1&s=GBPUSD=X+GBPEUR=X'; $handle = fopen($url, 'r'); if ($handle) { $result = fgetcsv($handle); fclose($handle); } echo $result[0]; echo $result[1]; ?> Quote Link to comment https://forums.phpfreaks.com/topic/273666-outputting-array/ Share on other sites More sharing options...
PFMaBiSmAd Posted January 26, 2013 Share Posted January 26, 2013 The data is being returned with each requested item as a separate line, and each call to fgetcsv only reads one line - <?php $url = 'http://finance.yahoo.com/d/quotes.csv?f=l1&s=GBPUSD=X+GBPEUR=X'; $handle = fopen($url, 'r'); if ($handle) { $usd = fgetcsv($handle); $eur = fgetcsv($handle); fclose($handle); } echo $usd[0]; echo $eur[0]; ?> Quote Link to comment https://forums.phpfreaks.com/topic/273666-outputting-array/#findComment-1408363 Share on other sites More sharing options...
dreampho Posted January 26, 2013 Author Share Posted January 26, 2013 Thank you, I see what the issue was now! Would it be best to just use this method to do a math function with the rate, or would it be better to store the rates in a db, then on each load, check the rate, if the rate hasnt changed use the rate saved in the db, else overwrite with the new rate... but I am wondering, if each load it has be checked anyone, surely storing in a db would be worse? Quote Link to comment https://forums.phpfreaks.com/topic/273666-outputting-array/#findComment-1408378 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.