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

    私的良スレ書庫

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

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

    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
    801 : nobodyさん - 2010/01/01(金) 20:08:16 ID:z0QJlOXo (-24,+29,-12)
    >>795
    あ、JavaScriptだとサーバーに負荷がかかんなくていいですね!

    >>797 >>799
    なるほど!!そんな方法があったんですね!!

    >>798
    ありがとうございます!
    802 : nobodyさん - 2010/01/01(金) 21:00:26 ID:hR+m4MNr (-28,-30,-245)
    あけましておめでとうございます

    test.php?hoge=1&test=2にアクセスするとYESと表示されるんですけど
    test.php?hoge=1 にアクセスした時に、OKと表示させたいので下記のようなコードを作り
    希望通りにはなったのですが・・・・

    testは2だけではなく 2,3,4,5,・・・・20まで続いてます。
    これをif文でやるとどれだけ手間がかかることやら、、どなたか良い方法教えてください

    if($_GET["hoge"] ==1 && $_GET["test"] == 2){
    echo "yes";
    }elseif($_GET["hoge"] == 1 && $_GET["test"] == ""){
    echo "ok";
    }

    803 : nobodyさん - 2010/01/01(金) 21:24:41 ID:??? (-6,-29,-178)
    >>786
    ・XOOPS
    海外だとDrupalが人気(Mozillaやホワイトハウスなど有名どころでも採用)
    日本ではXOOPSが人気。やっぱり日本人が開発して日本のコミュニティーがしっかりしているから?
    日本でDrupalがダメなのは日本Drupal公式さ糸川の管理者がアレだからという説もあるが
    ・EC-CUBE
    ZenCartには機能面はかなわない感じがあるが日本人が開発しただけあって日本人向けの作りになっている。
    ・Ruby
    スクリプト言語としてもう有名ですね。
    フレームワークのRuby on Railsの登場で注目も集めましたね。
    ・PostgreSQL
    開発者の一人に石井達夫さんって日本人がいましたよね?
    ・Namazu
    ・Hyper Estraier
    有名どころの全文検索エンジン

    ここら辺がすぐに思いつく物。


    http://ja.wikipedia.org/wiki/Wiki
    これ見ると日本人が開発したwikiって結構あるね。
    804 : nobodyさん - 2010/01/01(金) 21:32:35 ID:??? (+52,+29,-21)
    >>802
    設計がおかしいです
    もうちょっと具体的にどういうことをするのかを書けば適切なアドバイスができます
    805 : nobodyさん - 2010/01/01(金) 21:34:04 ID:??? (-6,-30,-148)
    >>802
    俺だったら
    switch($_GET["hoge"]){
    case 1:
    switch($_GET["test"]){
    case 2:
    echo "yes";
    break;
    default:
    echo "on";
    }
    break;
    }
    って書くかな。
    そっちの方がこの手の物だソースが読みやすくもなる。
    806 : nobodyさん - 2010/01/01(金) 21:35:43 ID:??? (+0,-28,-30)
    PHPで使われてる正規表現エンジン"鬼車"は日本人の開発だったかな
    807 : nobodyさん - 2010/01/01(金) 21:41:33 ID:??? (+5,-22,-5)
    PHPだけじゃなくPerl,Ruby,様々なLinuxディストリにも使われてるのか
    http://www.geocities.jp/kosako3/oniguruma/index_ja.html
    http://www.freebsd.org/cgi/cvsweb.cgi/ports/devel/oniguruma/
    808 : nobodyさん - 2010/01/01(金) 21:54:37 ID:??? (+0,-30,-256)
    switch-case文のネストとか非常に読みにくくなると思うのは俺だけ?

    >>802
    GETが連続して可読性が悪いのが嫌なら判定部分を関数で外部化するとか、
    コードが長くなるのが嫌なら配列なりファイルなりに条件と結果を書いておくとか。

    例えばこんな感じ:

    if (func(1, 2)) {
    echo "yes";
    } else if (func(1, "")) {
    echo "ok";
    }
    function func($hoge, $test) {
    return $_GET["hoge"] == $hoge && $_GET["test"] == $test;
    }

    $array = array( 1 => array( 2 => 'yes'), array( "" => 'ok'));
    echo array[$_GET['hoge']][$_GET['test']];

    data.csv
    ---------------------------------------------
    1,2,yes
    1,,ok
    ---------------------------------------------
    foreach (file('data.csv') as $line) {
    $line = explode(',', $line);
    if ($_GET["hoge"] == $line[0] && $_GET["test"] == $line[1] ) {
    echo $line[2];
    }
    809 : nobodyさん - 2010/01/01(金) 21:56:22 ID:??? (+5,-22,+0)
    }
    最後抜けてた。試してないからこんな感じということで。
    810 : nobodyさん - 2010/01/01(金) 22:11:37 ID:??? (+3,-29,-84)
    >switch-case文のネストとか非常に読みにくくなると思うのは俺だけ?
    インデントしっかりやっておけばそうでもないよ。
    switch使い慣れてないとbreak;付け忘れる人がいるけど
    どっちにしても
    >testは2だけではなく 2,3,4,5,・・・・20まで続いてます。
    って場合どんどんと比較パターンが多くなってくるとifだけで表現させていくとswitchより読みにくくなる。
    813 : nobodyさん - 2010/01/01(金) 22:28:44 ID:nSuyooiG (+86,+28,-23)
    PHPのマニュアルのミラー多すぎない?
    関数名で検索すると、同じ内容のページがぎょうさん
    814 : nobodyさん - 2010/01/01(金) 22:37:21 ID:hR+m4MNr (-20,+29,-6)
    >>805
    ありがとうございます
    うまくできました!

    他の方ももいろいろありがとうございました。
    815 : 812 - 2010/01/01(金) 22:39:34 ID:??? (-5,-30,-140)
    >>811
    俺もその配列を使う方法はすぐに考えついて
    しかもifすら使わずに二次元配列を使う方法を考えついた。
    でも
    >test.php?hoge=1 OK
    の場合の事を考えるとめんどくさくてカキコするのやめた。
    あえて考えて書くと
    $string[1] = array(-1=>"on",2=>"yes");
    if(strcmp($_GET["test"],"")==0){
    $test = -1;
    }else{
    $test = $_GET["test"];
    }
    echo $string[$_GET["hoge"]][$test];
    こんな感じか?
    816 : nobodyさん - 2010/01/01(金) 22:40:39 ID:??? (+65,+29,-15)
    >>813
    それわかる。
    関数のいろいろなサンプル探しているのにマニュアルのミラーだからサンプルもみんな同じって事あるよ。
    819 : nobodyさん - 2010/01/01(金) 23:02:03 ID:??? (-13,-29,-4)
    >>818
    文字列比較で==使うなよ。
    http://blog.zuzara.com/2007/05/10/221/
    821 : nobodyさん - 2010/01/02(土) 00:38:06 ID:??? (+5,+1,-18)
    Googleでそのウェブサイトを検索した結果から抜き出す
    823 : nobodyさん - 2010/01/02(土) 01:12:21 ID:??? (+36,+30,+0)
    825 : nobodyさん - 2010/01/02(土) 07:30:11 ID:??? (+8,-29,-4)
    echo '処理2';
    echo '処理1';
    826 : nobodyさん - 2010/01/02(土) 07:31:18 ID:b9SN1cw1 (+10,+29,-23)
    >>825
    すいません注釈で書くべきだったですね。
    >という順番で処理が書かれているとき
    限定です。
    827 : nobodyさん - 2010/01/02(土) 10:16:17 ID:??? (+59,+29,-45)
    >>813
    アフィ厨が多いから仕方が無い
    てっとりばやく楽に検索に載るからアフィ厨載ってくる
    828 : nobodyさん - 2010/01/02(土) 11:50:19 ID:??? (+31,-12,-41)
    >>825
    PHPはマルチスレッド機能はないらしいのだが裏技を使えば似たようなことは可能
    PHP マルチスレッドでぐぐれば結構ヒント出てくると思う
    マルチスレッドでやれば処理1と2が順次ではなく並列で処理することが可能
    829 : 828 - 2010/01/02(土) 11:51:10 ID:??? (+53,+29,+0)
    アンカミス
    >>826宛てね
    830 : 820 - 2010/01/02(土) 12:16:56 ID:EfcqZQnm (-15,+29,-60)
    >>823
    論文を読んで技術を自力でPHPに実装する実力ありません(泣)
    当該論文からサマライズプログラム作れませんか?
    831 : nobodyさん - 2010/01/02(土) 13:03:31 ID:??? (+47,+29,+0)
    じゃ実力つけれ
    832 : nobodyさん - 2010/01/02(土) 15:02:40 ID:OvKDiFnJ (-8,-30,-36)
    質問です。
    一見C++では怒られそうなデータ配列ですが、
    PHPでは下のような指定も可能なのでしょうか?

    $DATA['OWN'] = "ME";
    $DATA[$IDX]['YY'] = 10;
    $DATA[$IDX]['MM'] = 1;
    $DATA[$IDX]['DD'] = 2;
    834 : nobodyさん - 2010/01/02(土) 15:44:54 ID:??? (-4,-30,-15)
    >>833
    unexpected '[',  - なんか変なのきた
    expecting ']' - こういうのが来る筈なのに
    と分けて読む。
    $ad_key1[0]
          ^ これが変なものと思われてる。
    835 : nobodyさん - 2010/01/02(土) 15:57:03 ID:??? (+84,+29,-35)
    >>832
    >一見C++では怒られそうなデータ配列ですが、
    >PHPでは下のような指定も可能なのでしょうか?
    C言語系だと構造体があるからそっちで実現した方がいいからね。
    PHPでは構造体が使えないからそうやるしかないよね。
    836 : nobodyさん - 2010/01/02(土) 16:40:07 ID:??? (+35,-30,-226)

    >>834さんありがとうございました!

    <?php
    (略)
    echo <<<_INN
    <HR size=1>

    <center>てすと</center>
    <HR size=1>
    (略)
    ?>
    これの★の部分に
    -----------------------------------------------
    srand((double)microtime()*1000000);
    $ad_list1 = file("/home/php/public_html/ad.txt");
    $ad_key1 = array_rand($ad_list1, 2);
    $ad1 = $ad_list1[$ad_key1[0]];
    // 表示
    echo $ad1;
    -----------------------------------------------
    を入れると
    Parse error: syntax error, unexpected '[', expecting ']' in...
    エラーが出てしまいます。834さんの言う通り、
    [を消したり、色々してみましたがダメでした。

    やはりできないのでしょうか・・
    ($ad_list1 = fileで指定してる.txtファイルの存在や書き方は問題ないと思われます。)

    よろしくお願い致します。
    837 : nobodyさん - 2010/01/02(土) 17:08:13 ID:??? (+73,+29,-18)
    >>836
    ヒアドキュメントの中にコードは書けないよ
    あとスレタイも読んで
    838 : nobodyさん - 2010/01/02(土) 18:33:54 ID:5+ri1/AE (-26,+17,+1)
    >>837さん
    ありがとうございました!
    839 : nobodyさん - 2010/01/02(土) 21:06:55 ID:s3eVgMyd (+44,+29,-6)
    >>835
    Cで>>832のを構造体で書く場合、どうかくのでしょうか?
    840 : nobodyさん - 2010/01/02(土) 21:07:19 ID:??? (+45,+12,-1)
    >>837
    え?
    841 : 835 - 2010/01/02(土) 22:43:49 ID:??? (+56,-3,+1)
    >>839
    板違い
    842 : nobodyさん - 2010/01/02(土) 22:45:50 ID:??? (+58,+28,-4)
    >>841
    どこできいたらいいの?
    843 : nobodyさん - 2010/01/02(土) 22:50:51 ID:??? (+51,+28,+1)
    とりあえずム板行くよろし。
    844 : 832 - 2010/01/02(土) 23:19:00 ID:OvKDiFnJ (-20,+29,-4)
    回答ありがとうございます。
    無理だと思ったら可能なのかー。
    PHPなんでもあれですね。
    846 : nobodyさん - 2010/01/03(日) 02:44:38 ID:??? (+3,-29,-33)
    フィッシング用にそういうスクリプト書いてるけど、@importやcss中のURIや
    JavaScriptのXMLHttpRequest.open()なんかにも対応すると、結構大変。
    ほぼ完璧なものがあったら、俺も知りたい。
    847 : nobodyさん - 2010/01/03(日) 03:54:04 ID:??? (-1,-29,-15)
    CSVをアップロードして、そのデータ内容を表示したりグラフ化する為に便利なサンプルはありますでしょうか?
    848 : nobodyさん - 2010/01/03(日) 03:56:47 ID:??? (+42,+24,+0)
    ないです
    849 : nobodyさん - 2010/01/03(日) 05:01:36 ID:??? (+57,+29,-27)
    上の質問は解決しました。
    次の質問として、ワンクォーテーション内で囲まれたファイル名を日付にしたいのですが、不可能です。
    どのような処理にしたら良いでしょうか。
    850 : nobodyさん - 2010/01/03(日) 05:04:45 ID:??? (+55,+27,-15)
    スレタイ読まない = ルール守れない
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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