のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:127,647,428人
昨日:no data人
今日:
最近の注目
人気の最安値情報

元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 132

php覧 / PC版 /
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter

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 = :

ルールがいまいちわからん
半角スペースで分割したいがダブルクオーテーションがついてたら分割しないってことか?


←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php一覧へ
スレッド評価: スレッド評価について
みんなの評価 :
タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

類似してるかもしれないスレッド


トップメニューへ / →のくす牧場書庫について