Hallo zusammen
ich habe mir eine Fkt gestrickt, die mir die Kurse von Aktien des SP500
Index bei Yahoo als .csv Datei abholen und verarbeiten soll.
Soweit so gut. Das Dumme ist nur, dass beim Rückgabewert nur
erste Element erstellt wird. Eigentlich müssten es 500 sein.
$raw_data, das Array für die weitere Verarbeitung enthält aber 500
Elemente (zu Testzwecken mal global und mittels var_dump ausgegeben--> 500 Elemente).
Der Fehler muss also irgendwie in den beiden while Schleifen
auftreten.
Das erste Element wird völlig korrekt erstellt und dann wird die
Schleife irgendwie beendet, was aber erst beim letzten Element von
$raw_data geplant gewesen wäre.
Vielen Dankl für Eure Hilfe
Gruss
tobi
ich habe mir eine Fkt gestrickt, die mir die Kurse von Aktien des SP500
Index bei Yahoo als .csv Datei abholen und verarbeiten soll.
PHP-Code:
function sp500_yahoo($shs)
{
$i = 0;
$ii = 0;
$style = explode(',', 'Symbol,Last,Date,Time,%Chng,Open,High,Low,Vol');
foreach($shs as $wert)
{
$result .= nl2br(file_get_contents("http://finance.yahoo.com/d/quotes.csv
?sym=$wert&f=sl1d1t1c1ohgv&e=.csv"));
}
$raw_data = explode('<br />', str_replace('"','',$result));
$ende = count($raw_data);
while($ii < $ende)
{
$symbol = preg_replace('/\s\s+/','',$raw_data["$ii"]);
$pos = strpos($symbol,",");
$index = substr($symbol,0,$pos);
$temp = explode(',', $symbol);
while($i< 9)
{
$stil = $style["$i"];
$output["$index"]["$stil"] = $temp["$i"];
$i += 1;
}
$ii += 1;
}
return $output;
}
erste Element erstellt wird. Eigentlich müssten es 500 sein.
$raw_data, das Array für die weitere Verarbeitung enthält aber 500
Elemente (zu Testzwecken mal global und mittels var_dump ausgegeben--> 500 Elemente).
Der Fehler muss also irgendwie in den beiden while Schleifen
auftreten.
Das erste Element wird völlig korrekt erstellt und dann wird die
Schleife irgendwie beendet, was aber erst beim letzten Element von
$raw_data geplant gewesen wäre.
Vielen Dankl für Eure Hilfe
Gruss
tobi
Kommentar