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

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

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

    php スレッド一覧へ / php とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    352 : nobodyさん - 2014/03/01(土) 16:18:56.00 ID:???.net (-3,-30,-53)
    POSTする際にHTMLのほうのnameをyouso[1]にすれば、PHP側では$_POST['youso'][1]、つまりyousoの配列が作れる。
    そうすればあとはforeachとかで処理すればいい。
    ちなみにyouso[]にすると0から配列を作ることができ。youso[]が複数あると自動的にpushされる。
    353 : nobodyさん - 2014/03/01(土) 17:12:03.95 ID:n8n41uDi.net (-23,+26,+2)
    >>352
    なるほど、ありがとうございました
    354 : nobodyさん - 2014/03/01(土) 17:16:35.08 ID:???.net (-2,-30,-20)
    $_POST['youso1'] = @nosettonullstring($_POST['youso1']);
    355 : nobodyさん - 2014/03/01(土) 17:21:14.37 ID:???.net (+33,-25,-2)
    postでもgetでもなんて中途半端すぎ
    356 : nobodyさん - 2014/03/01(土) 17:22:44.69 ID:???.net (+7,+29,-53)
    オブジェクト指向は愚かな考え。排便メソッドを実装した人間クラスから美少女クラスが作れない。
    http://toro.2ch.net/test/read.cgi/tech/1393660194/11
    357 : nobodyさん - 2014/03/01(土) 20:32:13.22 ID:???.net (+56,+28,+1)
    >>355
    もういいよお前
    358 : nobodyさん - 2014/03/01(土) 23:03:13.34 ID:???.net (-6,-29,+0)
    ( ´,_ゝ`)プッ
    359 : nobodyさん - 2014/03/01(土) 23:52:15.10 ID:???.net (+46,+28,+0)
    狂ってるわけだ
    360 : nobodyさん - 2014/03/02(日) 08:59:50.21 ID:0yNkJzDo.net (+38,-30,-120)
    【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 : nobodyさん - 2014/03/02(日) 09:46:27.53 ID:???.net (+59,+29,-51)
    >>360
    もっと良い方法というとSQLにORDER BY句を埋め込むのがよさそうだけど、それだとスレ違いになるからここじゃ答えられない
    362 : nobodyさん - 2014/03/02(日) 09:51:04.60 ID:???.net (+64,+28,+0)
    >>360
    肝心のソートが無いように見えるけど
    363 : nobodyさん - 2014/03/02(日) 12:15:02.96 ID:???.net (+101,-30,-49)
    >>361
    そうですか。
    >>362
    for($i=0;$i<5000;$i++){
    $image[index[$t]];
    }
    のように使っているので、
    最新:index[0]、古:index[4999]
    最新の日付の順に最新の画像を順に画面に出してます。
    これで最新の日付順に画像がソートされたことになります。
    364 : nobodyさん - 2014/03/02(日) 12:28:02.10 ID:???.net (+40,-30,-35)
    >>363
    361が最良だよ。データ取得時にソートもしておくのが定石。
    SELECT something FROM sometable ORDER BY date_column DESC
    PHPでやりたければ、>>363 でもいいけど無駄に近い。
    365 : nobodyさん - 2014/03/02(日) 14:27:16.68 ID:???.net (+2,-30,-58)
    >>363
    $date_beforeの順序と、$indexと$date_afterの順序が同じように見えるんだけど
    $date_beforeにはどういう順序で入ってるの?
    366 : nobodyさん - 2014/03/03(月) 00:12:30.98 ID:???.net (+2,-30,-82)
    >>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 : nobodyさん - 2014/03/03(月) 11:17:39.06 ID:???.net (+3,-30,-96)
    $imageのインデクスは結局$date_beforeのインデクスをコピーしただけだから、
    これで降順になるならもともと$date_beforeはソート済み

    $imageは未ソートっぽいので、これを日付順にせよというのがクライアントの要求だったようだ
    368 : nobodyさん - 2014/03/03(月) 12:40:12.05 ID:???.net (+85,+29,-2)
    >>364
    エスパーなのか自演なのか判断に苦しむ
    369 : nobodyさん - 2014/03/03(月) 13:34:05.65 ID:???.net (+57,+29,-34)
    DBを普段使ってる人とそうでない人との感覚の違いだな
    370 : nobodyさん - 2014/03/03(月) 14:39:44.54 ID:???.net (+78,+11,-1)
    >>368
    え?
    374 : nobodyさん - 2014/03/03(月) 19:07:22.07 ID:???.net (-1,-29,-16)
    0.01234 とかはどうなるのが正解?
    375 : nobodyさん - 2014/03/03(月) 19:12:55.97 ID:???.net (+47,+29,-11)
    >>371
    桁数なら分からんでもないが文字数調べてどうすんの?
    ソッチのほうが興味あるわ
    376 : nobodyさん - 2014/03/03(月) 19:15:02.63 ID:???.net (+91,+29,-2)
    いや、371の言うのはいわゆる桁数だろう
    377 : nobodyさん - 2014/03/03(月) 19:21:11.31 ID:???.net (+7,-30,-45)
    057がもじれつに変換されるときに0が取れてるから
    0で始まるリテラルは8進数なので、5*8^1 + 4*8^0 = 47のふたけた
    基数10と8で桁数がずれるときは問題になるだろう
    本当に8進数の桁が欲しいのかわからんけど
    378 : nobodyさん - 2014/03/03(月) 19:23:05.40 ID:???.net (-4,-27,+0)
    式typoしたけど察して
    379 : nobodyさん - 2014/03/03(月) 19:29:09.12 ID:???.net (+27,-29,-26)
    >>377
    057を文字列に変換?したら、当然 '057' だろ?
    380 : nobodyさん - 2014/03/03(月) 19:32:48.16 ID:???.net (+70,+29,-18)
    >>376
    浮動小数点っていうか、実数の桁?
    意味あるの?
    381 : nobodyさん - 2014/03/03(月) 19:36:07.65 ID:???.net (+51,+30,+0)
    382 : 360 - 2014/03/03(月) 19:43:39.29 ID:???.net (+7,-30,-174)
    すいません。
    派遣先切られて落ち込んでました。
    説明不足でした。

    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");
    }
    383 : 360 - 2014/03/03(月) 19:45:20.72 ID:pVEl0/Ty.net (+0,+0,+0)
    この結果が

    日付: 2014-03-02 10:04:09画像: 2014030210040966219.png
    日付: 2014-03-02 09:43:17画像: 2014030209431718080.jpg
    日付: 2014-03-02 09:43:48画像: 2014030209434853288.jpg
    日付: 2014-03-02 09:43:49画像: 2014030209434924738.png
    日付: 2014-03-02 09:43:50画像: 2014030209435021928.png
    日付: 2014-03-02 09:43:51画像: 2014030209435140509.png
    日付: 2014-03-02 09:43:52画像: 2014030209435233766.jpg
    日付: 2014-03-02 09:43:53画像: 2014030209435317388.jpg
    日付: 2014-03-02 10:04:06画像: 2014030210040694987.jpg
    日付: 2014-03-02 10:04:07画像: 2014030210040727698.jpg
    0
    2014-03-02 10:04:09
    9
    2014-03-02 10:04:07
    8
    2014-03-02 10:04:06
    7
    2014-03-02 09:43:53
    6
    2014-03-02 09:43:52
    5
    2014-03-02 09:43:51
    4
    2014-03-02 09:43:50
    3
    2014-03-02 09:43:49
    2
    2014-03-02 09:43:48
    1
    384 : 360 - 2014/03/03(月) 19:46:14.31 ID:pVEl0/Ty.net (+0,+0,+0)
    続き
    2014-03-02 09:43:17
    日付: 2014-03-02 10:04:09画像: 2014030210040966219.png
    日付: 2014-03-02 10:04:07画像: 2014030210040727698.jpg
    日付: 2014-03-02 10:04:06画像: 2014030210040694987.jpg
    日付: 2014-03-02 09:43:53画像: 2014030209435317388.jpg
    日付: 2014-03-02 09:43:52画像: 2014030209435233766.jpg
    日付: 2014-03-02 09:43:51画像: 2014030209435140509.png
    日付: 2014-03-02 09:43:50画像: 2014030209435021928.png
    日付: 2014-03-02 09:43:49画像: 2014030209434924738.png
    日付: 2014-03-02 09:43:48画像: 2014030209434853288.jpg
    日付: 2014-03-02 09:43:17画像: 2014030209431718080.jpg
    385 : 360 - 2014/03/03(月) 19:51:48.48 ID:pVEl0/Ty.net (+8,+13,-22)
    このように、一番上に最新の日付とその日付にアップロードされた
    画像がくるように並び替えています。
    このほかカラムには、ナンバーがありこのナンバーは
    1→2~10→1とループしていきます。
    386 : nobodyさん - 2014/03/03(月) 19:58:36.45 ID:???.net (+0,-29,-11)
    >>382
    結局arsortしてんじゃんw
    387 : nobodyさん - 2014/03/03(月) 20:02:57.05 ID:e1uclpbn.net (-14,+29,-19)
    >>375
    外部サービスのAPIを使うときに、整数でも小数でも8桁までの数字を入れるというルールがあり、
    ちゃんと8桁に収まっているかをしらべたかったのです。

    ありがとうございました!
    388 : nobodyさん - 2014/03/04(火) 04:16:39.45 ID:???.net (+68,+26,-7)
    >>370
    > PHPでやりたければ、>>363 でもいいけど無駄に近い。
    >>363でソートされるの?
    390 : nobodyさん - 2014/03/04(火) 07:48:19.56 ID:???.net (+47,+29,-19)
    そんなん初歩だろ
    最初に書いてるわ
    ていうかそれ推奨されてないから忘れたほうがいい
    >>3の5に書いてる通り{}で囲むならOK
    391 : nobodyさん - 2014/03/04(火) 07:48:20.45 ID:???.net (-20,-29,-2)
    392 : nobodyさん - 2014/03/04(火) 07:48:46.98 ID:???.net (+47,+25,-17)
    >>389
    その例は変数展開してないだろw
    393 : nobodyさん - 2014/03/04(火) 07:49:08.98 ID:???.net (+52,+29,-1)
    あごめん、してたか
    395 : nobodyさん - 2014/03/04(火) 10:18:21.27 ID:???.net (+39,+16,-7)
    {}抜きはやめとけって話じゃないか?
    これが非推奨だったらPHPのメリットかなり落ちる
    396 : nobodyさん - 2014/03/04(火) 10:19:55.91 ID:PNP6rdg1.net (-28,+18,+3)
    >>390>>391
    ありがとうございます。
    397 : 394 - 2014/03/04(火) 10:29:58.04 ID:jWPe5MHZ.net (-14,+29,-35)
    >>395
    {}で囲むならOKという話だったのですね。
    ダブルクオート内の変数展開自体が非推奨と早とちりしてしまいました。
    有難うございました。
    398 : nobodyさん - 2014/03/04(火) 10:35:21.43 ID:0dtpeKMr.net (+6,+29,-46)
    PHPで文字列を分割する方法について質問です
    例えば「"赤 青" 黄色」という文字列があるとして「赤 青」と「黄色」に分割したいです
    いい方法はあるでしょうか
    399 : nobodyさん - 2014/03/04(火) 10:46:11.71 ID:???.net (+57,+29,-44)
    ルールがいまいちわからん
    半角スペースで分割したいがダブルクオーテーションがついてたら分割しないってことか?
    400 : nobodyさん - 2014/03/04(火) 10:46:29.10 ID:???.net (-18,-30,-89)
    >>398
    何に注目して分割するかに依るけどその情報がないぞ
    先頭のクオーテーション内とその後ってことなのか
    クオーテーション外の空白で分割なのか
    それとも単に2~4文字と8~9文字なのか
    1番目なら
    $str = '"赤 青" 黄色';
    if(preg_match("/^\"(.+?)\"\s*(.+)$/",$str,$mt)){
    print_r($mt);
    }
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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