• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「option」をソートしたい!)

「option」をソートしたい!

このQ&Aのポイント
  • CGIのアイコン選択の「option」をソートで名前順にしたい
  • 質問者は調べてもわからず、解決策を求めている
  • CGIのアイコン選択のソート方法を知っている人に助けを求めている

質問者が選んだベストアンサー

  • ベストアンサー
  • kumoz
  • ベストアンサー率64% (120/185)
回答No.3

日本語文字列のソートには、厄介な問題があります。漢字には読み方がいろいろありますが、そのうちの1つの読みでコード化されているからです。例を挙げてみます。 上 (Shift_JIS: 8FE4, EUC-JP: BEE5) 下 (Shift_JIS: 89BA, EUC-JP: B2BC) 「上」は「ジョウ」の読みで、「下」は「カ」の読みでコード化されています。そのため、「上」と「下」をソートすると、常に「下」が先にくることになります。「ウエ」と「シタ」でソートしたいと思っても、そうはならないのです。 EUC-JP でコードを書かれているなら、ソート順を書いたハッシュなどを利用する方法があります。 %order = ('アイコン' => 1, 'イコンア' => 2, 'コンアイ' => 3, '管理者専用' => 4); foreach (sort { $order{$icn_nam[$a]} <=> $order{$icn_nam[$b]} } 0 .. $#icn_nam) { Shift_JIS ではいろいろと問題が発生するのでお勧めできません。なお、UTF-8 についてはよくわからないので、悪しからず...。

monica_panda
質問者

お礼

どうもありがとうございました;結局断念することにしました。ご回答頂いたのに申し訳ないです(≧x≦;

monica_panda
質問者

補足

ご返答ありがとうございます! BBSがShift_JISなので、難しそうですね…; アイコンは、訪問者さんが自分でアップして使えるようなタイプなので、自分のアイコンを見つけるのが難しく、ソートしたかったのです。 なので、「ソート順を書く」というのは難しく、何か方法があればっと、思ったのですが…。 諦めた方が良いでしょうか?

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • kumoz
  • ベストアンサー率64% (120/185)
回答No.2

> foreach(0 .. $#icn_img) { 上の行を次のように変更してみてください。もしかすると、うまくいくかも? foreach (sort { $icn_nam[$a] cmp $icn_nam[$b] } 0 .. $#icn_nam) {

monica_panda
質問者

補足

ありがとうございます! 書きこんで頂いた通り、ペーストさせて頂いたのですが、ソート出来ていないようです。 せっかくお答え頂いたのに申し訳ございません。 他に考えられる点は御座いますでしょうか?もし、お時間有りましたら、ご返答頂けますと助かります!

すると、全ての回答が全文表示されます。
  • 0909union
  • ベストアンサー率39% (325/818)
回答No.1

>調べてもわからないので CGIとなっているが、記述されている言語は何ですが? そこがわかっていないでは。 CGIと表現されるときは通常、そのOSのシェルか、Perl またはその両方。 しかし、PHPにも見える。なんでしょう。

monica_panda
質問者

お礼

どうもありがとうございました;結局断念することにしました。ご回答頂いたのに申し訳ないです(≧x≦;

monica_panda
質問者

補足

ご返答ありがとうございます!言葉足らずで申し訳ないです。 おそらく、Perlだと思います。 シェルかどうかはわからなかったので、URLを貼らせて頂きました。 現在配布元のサイトが無くなっているので、改造版のスクリプトですが; SADO GAME CAFE CGI ダウンロードページ【携帯Ver. Narration BBS】 <http://sado.or.tv/dl_cgi/001.htm> 見当違いでしたらゴメンナサイ。 ご返答、どうぞ宜しくお願いします。

すると、全ての回答が全文表示されます。

関連するQ&A