CGIなどのの質問を受付ます。
現在SPAM対策の為、一部ホストアドレスを規制中。
▼スレッド
│
└◇9:Re[3]:配列説明補足なの〜ぉ〜 [moon] 10/12 13:09
└◇10:Re[4]:配列説明補足なの〜ぉ〜 [とむとむ] 10/12
└◇11:Re[5]:配列説明補足なの〜ぉ〜 [moon] 10/19
└◇12:Re[6]:配列説明補足なの〜ぉ〜 [とむとむ] 10/20
└◇13:Re[7]:配列説明補足なの〜ぉ〜 [moon] 10/21 <
なんとなく分かった。気がする(^^;スレッド一覧
> @xxx = sort @xxx;
コレで正順のソートが出来てしまうのね。多分。
> @end_sort_xxx = sort {$b <=> $a} @xxx;
ところで、「@end_sort」という文字列に意味があるのでしょうか・・・?
> ところで、「@end_sort」という文字列に意味があるのでしょうか・・・?スレッド一覧
ただこれで最後・・・という意味でつけただけで、
特に意味は無いよん♪
複数の値が入っている配列でソートするときはどうするんだろう・・・?スレッド一覧
例えば、
@file(
'a,1,あいうえお,546',
'c,3,さしすせそ,158',
'b,2,かきくけこ,2055',
'd,4,たちつてと,33',
)
というので、二つ目でソートしたい場合とか。
うーむ。謎だ。
> @file(スレッド一覧
> 'a,1,あいうえお,546',
> 'c,3,さしすせそ,158',
> 'b,2,かきくけこ,2055',
> 'd,4,たちつてと,33',
> )
じゃなく、
@file = (
'a,1,あいうえお,546',
'c,3,さしすせそ,158',
'b,2,かきくけこ,2055',
'd,4,たちつてと,33',
)
だね♪(にこやかに)
でこの場合のソート方法はかなり厄介。なので多分これでよいだろうと思われるソース書いたので、参考にしてな
# ソートしたい要素だけを抜き出す
foreach $file(@file){
@ELEMENT = split(/,/,$file);
push (@temp,$ELEMENT[1]);
}
# 抜き出した要素でソート
sort {$a <=> $b} @temp;
# ソート順に元配列を並び替え
foreach $temp(@temp){
foreach $file(@file){
@ELEMENT = split(/,/,$file);
if ($temp eq $ELEMENT[1]){
push (@file_2,$file);
}
}
}
とやると多分、うまく行くはず。
ただ同じ配列名に格納すると無限ループになるので、注意が必要だねっ☆
うぃうぃ。さんくす。スレッド一覧
暇な時にやってみまーす。