電子書籍の厳選無料作品が豊富!

前回私がしました(http://oshiete1.goo.ne.jp/qa2429369.html)の質問に通ずるのですが、新たに質問させて頂きます。
例えばボーリングのスコアを順位をつけて並べたいのですが、
--------------------------------------
<?php
$Name=array("Aさん","Bさん","Cさん","Dさん","Eさん","Fさん");
$Count=array(123,198,123,117,123,202);
array_multisort($Count,SORT_DESC,SORT_NUMERIC,$Name,SORT_DESC,SORT_STRING);
$rank=-1;
for($i=0;$i<count($Name);$i++){
if($Count[$rank] != $Count[$i]) $rank = $i;
print("第".($rank + 1)."位:".$Count[$i]." ".$Name[$i]."\n");
}
?>
以上の順位の所を「○位」と書かれた画像にしたいのですが、以下のやり方でOKでしょうか?とりあえず表示されたのですが、もっと合理的な良い方法があるかと思いまして。
----------------------------------------
「第1位」と書かれた画像→0.gif
「第2位」と書かれた画像→1.gif
「第3位」と書かれた画像→2.gif

     ・
     ・
という風に上の画像を用意しておきます。そこで

<?php
$Name=array("Aさん","Bさん","Cさん","Dさん","Eさん","Fさん");
$Count=array(123,198,123,117,123,202);
array_multisort($Count,SORT_DESC,SORT_NUMERIC,$Name,SORT_DESC,SORT_STRING);
$rank=-1;
for($i=0;$i<count($Name);$i++){
if($Count[$rank] != $Count[$i]) $rank = $i;
print("<img src='".$rank.".gif'>:".$Count[$i]." ".$Name[$i]."\n");
}
?>
------------------------------------------------------------
どなたか吟味の程よろしくお願い致します。

A 回答 (1件)

書いてみたけど、あんまり変わらなかった。

少し文字数は減ったはず。

$Name=array("Aさん","Bさん","Cさん","Dさん","Eさん","Fさん");
$Count=array(123,198,123,117,123,202);
arsort($Count);
$i = 1;
foreach($Count as $key => $value){
print "<img src={$i}.gif>{$value}{$Name[$key]}\r\n";
$i++;
}
***************
<img src=1.gif>202Fさん
<img src=2.gif>198Bさん
<img src=3.gif>123Eさん
<img src=4.gif>123Cさん
<img src=5.gif>123Aさん
<img src=6.gif>117Dさん
    • good
    • 0
この回答へのお礼

訳ありまして返信が遅れました。解決しました。ありがとうございました。

お礼日時:2006/12/04 20:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!