元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 132
php覧 / PC版 /みんなの評価 :
355 = :
postでもgetでもなんて中途半端すぎ
356 = :
オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
http://toro.2ch.net/test/read.cgi/tech/1393660194/11
357 = :
>>355
もういいよお前
359 = :
狂ってるわけだ
360 :
【OS名】win7 32bit
【PHPのバージョン】5.3.5
【連携ソフトウェア】xampp 1.7.4
【質問内容】
$date_beforeにmysqlのtimestampが入っており、
最新の順に並び替えるのを次のようにしてますが、
これが最良の方法でしょうか?
もっと他に何か良い方法がありますでしょうか?
$t=0;
foreach ($date_before as $key => $val) {
$index[$t]=$key;
$date_after[$t]=$val;
$t=$t+1;
}
361 = :
>>360
もっと良い方法というとSQLにORDER BY句を埋め込むのがよさそうだけど、それだとスレ違いになるからここじゃ答えられない
362 = :
>>360
肝心のソートが無いように見えるけど
363 = :
>>361
そうですか。
>>362
for($i=0;$i<5000;$i++){
$image[index[$t]];
}
のように使っているので、
最新:index[0]、古:index[4999]
最新の日付の順に最新の画像を順に画面に出してます。
これで最新の日付順に画像がソートされたことになります。
364 = :
>>363
361が最良だよ。データ取得時にソートもしておくのが定石。
SELECT something FROM sometable ORDER BY date_column DESC
PHPでやりたければ、>>363 でもいいけど無駄に近い。
365 = :
>>363
$date_beforeの順序と、$indexと$date_afterの順序が同じように見えるんだけど
$date_beforeにはどういう順序で入ってるの?
366 = :
>>360
よく分からんが、そのコードを改良するなら
$index = array_keys($date_before);
$date_after = array_values($date_before);
とするかな。
内部的に2回ループが動くじゃん?という懸念があるかもしれないので、計測したほうがいいかも。
もしくはこう
foreach ($date_before as $key => $val) {
$index[]=$key;
$date_after[]=$val;
}
367 = :
$imageのインデクスは結局$date_beforeのインデクスをコピーしただけだから、
これで降順になるならもともと$date_beforeはソート済み
$imageは未ソートっぽいので、これを日付順にせよというのがクライアントの要求だったようだ
368 = :
>>364
エスパーなのか自演なのか判断に苦しむ
369 = :
DBを普段使ってる人とそうでない人との感覚の違いだな
370 = :
>>368
え?
375 = :
>>371
桁数なら分からんでもないが文字数調べてどうすんの?
ソッチのほうが興味あるわ
376 = :
いや、371の言うのはいわゆる桁数だろう
377 = :
057がもじれつに変換されるときに0が取れてるから
0で始まるリテラルは8進数なので、5*8^1 + 4*8^0 = 47のふたけた
基数10と8で桁数がずれるときは問題になるだろう
本当に8進数の桁が欲しいのかわからんけど
379 = :
>>377
057を文字列に変換?したら、当然 '057' だろ?
380 = :
>>376
浮動小数点っていうか、実数の桁?
意味あるの?
381 = :
>>379
http://php.net/manual/ja/language.types.integer.php
382 = :
すいません。
派遣先切られて落ち込んでました。
説明不足でした。
for($t=0;$t<10;$t+=1){
echo("日付: $date_before[$t]");
echo("画像: $file_name[$t]<br/>\n");
}
//カウンターのアルファベットは$tとする
@arsort($date_before);//日付最新を上に並び替え
$t=0;
foreach ($date_before as $key => $val) {
$index[$t]=$key;
$date_after[$t]=$val;
echo("$index[$t]<br/>\n");
echo("$date_after[$t]<br/>\n");
$t=$t+1;
}
for($t=0;$t<10;$t+=1){
echo("日付: $date_after[$t]");
$a=$index[$t];
echo("画像: $file_name[$a]<br/>\n");
}
385 = 383 :
このように、一番上に最新の日付とその日付にアップロードされた
画像がくるように並び替えています。
このほかカラムには、ナンバーがありこのナンバーは
1→2~10→1とループしていきます。
388 = :
>>370
> PHPでやりたければ、>>363 でもいいけど無駄に近い。
>>363でソートされるの?
390 = :
そんなん初歩だろ
最初に書いてるわ
ていうかそれ推奨されてないから忘れたほうがいい
>>3の5に書いてる通り{}で囲むならOK
392 = :
>>389
その例は変数展開してないだろw
393 = :
あごめん、してたか
395 = :
{}抜きはやめとけって話じゃないか?
これが非推奨だったらPHPのメリットかなり落ちる
398 :
PHPで文字列を分割する方法について質問です
例えば「"赤 青" 黄色」という文字列があるとして「赤 青」と「黄色」に分割したいです
いい方法はあるでしょうか
399 = :
ルールがいまいちわからん
半角スペースで分割したいがダブルクオーテーションがついてたら分割しないってことか?
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 133 (1001) - [98%] - 2014/7/8 16:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 137 (995) - [98%] - 2023/1/30 18:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 112 (1001) - [98%] - 2011/11/29 4:02
- 【PHP】下らねぇ質問はID出して書き込みやがれ 130 (1001) - [98%] - 2013/11/11 2:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 139 (994) - [98%] - 2015/7/25 21:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 131 (1001) - [98%] - 2014/1/19 21:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 138 (991) - [98%] - 2015/1/6 8:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 136 (936) - [98%] - 2014/9/18 12:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 102 (1001) - [98%] - 2011/1/25 4:34
- 【PHP】下らねぇ質問はID出して書き込みやがれ 135 (984) - [98%] - 2014/8/7 1:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 134 (1002) - [98%] - 2014/7/29 4:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 119 (1001) - [96%] - 2012/6/21 11:46
- 【PHP】下らねぇ質問はID出して書き込みやがれ 127 (1001) - [96%] - 2013/5/26 14:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 118 (1001) - [96%] - 2012/5/18 6:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 129 (1001) - [96%] - 2013/9/18 1:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 105 (1001) - [96%] - 2011/4/28 23:01
- 【PHP】下らねぇ質問はID出して書き込みやがれ 117 (1001) - [96%] - 2012/4/23 19:01
トップメニューへ / →のくす牧場書庫について