0
<?php
header("Content-type: text/plain");
$GLOBALS["db_name"] = "fggff_highscores";
$GLOBALS["table_name"] = "testing";
$GLOBALS["view_user"] = "fgfggg_players";
$GLOBALS["view_pass"] = "removed";


  $username = strip_tags($_GET["player"]);

$fileContents = @file_get_contents("http://hiscore.runescape.com/index_lite.ws?player="         . $username);
echo $fileContents;

if ($fileContents == FALSE) {
    die("PLAYER NOT FOUND");
}

//$content = array();
$data = explode("\n", $fileContents);

/*
foreach ($data as $word) {
$index = $skills[$index];
$new_data = explode (",", $word);
$content[$index]["rank"] = $new_data[0];
    $content[$index]["level"] = $new_data[1];
    $content[$index]["experience"] = $new_data[2];
    $index++;
}
*/

$stats0 = explode(",", $data[0]);

echo "\n";
echo "\n";

echo "Overall Rank: " .number_format($stats0[0]);
echo "\n";
    echo "Total Level: " .number_format($stats0[1]);
echo "\n";
echo "Overall Total XP: " .number_format($stats0[2]);

$stats1 = explode(",", $data[1]);

echo "\n";
echo "\n";

echo "Attack Rank: " .number_format($stats1[0]);
echo "\n";
echo "Attack Level: " .number_format($stats1[1]);
echo "\n";
echo "Attack XP: " .number_format($stats1[2]);

$stats2 = explode(",", $data[2]);

    echo "\n";
echo "\n";

echo "Defence Rank: " .number_format($stats2[0]);
echo "\n";
echo "Defence Level: " .number_format($stats2[1]);
echo "\n";
echo "Defence XP: " .number_format($stats2[2]);



?>

上記の例は実行時に動作するはずです。このプレーヤーを使用して出力を確認できます -- .php?player=zezima

The output of each $data[0] is something like--------53,2496,1661657944

53-----------------------number_format($stats0[0])
2,496--------------------number_format($stats0[1])
1,661,657,944------------number_format($stats0[2])

--

次に、各 $data[] インデックスを 3 つの部分に分割しようとしています。上記の方法で動作しますが、for each ループのようなことを実行して、各 $data[] インデックスを通過し、分割できるようにしたいと考えています。それぞれを使用して爆発( "、"、$ data [0]); 爆発 (",", $data[1]); 爆発 (",", $data[2]); ただし、毎回インデックスがインクリメントされます。最後に必要なのは、使用できる変数に各値を入れることです。例:

$apple = number_format($stats0[0]);
echo $apple;

これは私が何かを試したものです:

$content = array();
foreach ($data as $word) {
$index = $skills[$index];
$new_data = explode (",", $word);
$content[$index]["rank"] = $new_data[0];
$content[$index]["level"] = $new_data[1];
$content[$index]["experience"] = $new_data[2];
$index++;
}
4

1 に答える 1

0

何度も繰り返す代わりに、次のような関数を作成します。

function print($data, $i){
 $stats0 = explode(",", $data[$i]);    
 echo "\n\nOverall Rank: " .number_format($stats0[0]) . "\n";
 echo "Total Level: " .number_format($stats0[1]) . "\n";
 echo "Overall Total XP: " .number_format($stats0[2]);
}

ループで呼び出します。

于 2012-07-02T04:01:32.403 に答える