のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,332,093人
昨日: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
    101 : nobodyさん - 2014/02/02(日) 16:07:28.45 ID:???.net (+42,+14,-1)
    関数ごとにシンボルテーブル違うっぽいな
    102 : 95 - 2014/02/02(日) 16:13:00.92 ID:???.net (+57,+29,-7)
    無理ぽいのでとりあえず引数で渡すことにします。
    皆さんありがとうこざいました。
    103 : nobodyさん - 2014/02/02(日) 16:13:21.82 ID:???.net (+49,+21,-20)
    質問者は関数定義だけしてその関数を呼んでない、というのもあるw
    105 : nobodyさん - 2014/02/02(日) 16:20:08.31 ID:???.net (+3,-30,-114)
    1 <?
    2 $a = "aaaaaaaaaaaaaaaaaaaaa";
    3 echo "in global\n";
    4 print_r(get_defined_vars());
    5 function bbb(){
    6 $b = array("bbbbbbbbb" => "bbbbbbbbbbbbbbbbbb");
    7 extract($b);
    8 echo "in function\n";
    9 print_r(get_defined_vars());
    10 }
    11 bbb();
    12 echo "in global\n";
    13 print_r(get_defined_vars());
    106 : nobodyさん - 2014/02/02(日) 16:20:50.71 ID:???.net (+3,-30,-53)
    test.phpの実行結果

    in global
    //大量に変数が表示される
    [a] => aaaaaaaaaaaaaaaaaaaaa
    in function
    Array
    (
    [b] => Array
    (
    [bbbbbbbbb] => bbbbbbbbbbbbbbbbbb
    )

    [bbbbbbbbb] => bbbbbbbbbbbbbbbbbb
    )
    in global
    //大量に変数が表示される
    [a] => aaaaaaaaaaaaaaaaaaaaa

    どうやらextract($b)によって変化するのはbbb()のシンボルテーブルのみ
    107 : nobodyさん - 2014/02/02(日) 16:28:01.37 ID:???.net (+3,-29,-40)
    あと面倒くさいから確かめてないけど
    func()でglobalをつかってもtest.phpのシンボルテーブルが参照されるだけで
    requireされた場所(views)のシンボルテーブルが参照されるわけではないんじゃないの
    108 : nobodyさん - 2014/02/02(日) 16:39:41.69 ID:???.net (+13,-30,-89)
    <?

    $v1 = '';
    function view() {
    global $v1;
    extract(array( "v1" => "aaa" ));
    require("test.php");
    }
    view();
    testfunc();
    --------------------

    <?
    function testfunc() {
    global $v1;
    echo $v1; // ここで$v1を表示するにはどうしたらいいですか
    }
    --------------------
    109 : nobodyさん - 2014/02/02(日) 16:44:10.62 ID:???.net (+3,-30,-106)
    test.php
    <?
    require('test2.php');
    function view(){
    extract(array("v1"=>"aaa"));;
    func(get_defined_vars());
    }
    view();

    test2.php<?
    function func($hoge){
    echo $hoge["v1"];
    }

    これじゃダメ?
    110 : 108 - 2014/02/02(日) 16:46:04.11 ID:???.net (+3,-30,-98)
    上が適当なファイルで下がtest.php
    extract(array( "v1" => "aaa" ));
    は動かしたphpのバージョンが古いので変更している。

    requireはあくまでファイルを読み込むためのもの。例え関数内で読まれたとしてもその意味は変わらない。
    view関数の中でrequireしても、view関数内の変数がglobalの対象にならないよってことで。
    111 : nobodyさん - 2014/02/02(日) 16:47:28.98 ID:???.net (+90,+28,-19)
    個人的に関数を呼び出すごとにrequireっておぞましいんだが普通なんか?
    112 : nobodyさん - 2014/02/02(日) 16:56:25.03 ID:???.net (+70,+29,-25)
    >>111
    あまりrequireすることがなくてサイズが大きいやつだとオーバーヘッドになるから、その関数内でやる場合もあるかも。
    ただ効果があるかどうかは知らない。
    113 : nobodyさん - 2014/02/02(日) 17:16:05.52 ID:???.net (+3,-29,-47)
    自分は主な関数ごとにファイルを作成しているから、使う関数の数だけrequireするよ。
    たいていは、多くても10ファイル前後におさまる。
    速度も別に遅くならないし、気にならない。
    まあ、auto_loadが関数の読み込みにも使えたら便利なんだけど。
    115 : nobodyさん - 2014/02/02(日) 17:42:38.20 ID:???.net (+2,-29,-19)
    仕様見てみりゃわかる。
    multi は個別にエラーチェックしないと
    117 : nobodyさん - 2014/02/02(日) 18:13:08.61 ID:???.net (-6,-29,-61)
    >>116
    載ってるコードだけで完結させるならどっちでもいい。public staticにする必要はあるけど。
    addとかdeleteとかメソッド作ったりしてクラスを改造していくならインスタンス作るほうが便利。
    118 : nobodyさん - 2014/02/02(日) 19:09:25.78 ID:???.net (+16,-11,-12)
    95 はテンプレートエンジンじゃないの
    119 : 114 - 2014/02/02(日) 19:34:26.88 ID:???.net (-1,-29,-46)
    >115
    >multi は個別にエラーチェックしないと

    エラーメッセージは正確に出るのに
    番号は出ない仕様なの?

    よければ、マニュアルに書いてあったら教えてください。
    120 : nobodyさん - 2014/02/02(日) 21:36:29.16 ID:???.net (-6,-29,-10)
    >>166
    create
    121 : nobodyさん - 2014/02/02(日) 21:37:01.14 ID:???.net (+39,+21,-2)
    ぉん?
    122 : nobodyさん - 2014/02/02(日) 23:19:31.40 ID:???.net (+45,-29,+0)
    >>166
    依存性を小さくできる、パターンに従っていれば伝わりやすい、OO的に自然で理解に手間がかからない

    上のファクトリは単純にStaticにしても動かない
    ファクトリはサブクラスにオブジェクト生成の詳細を任せるパターンだから、createReaderはオーバーライド前提になっている
    ReaderFactory::create()からサブクラスのcreateReader()を呼ぶのは、親にとって未知の子孫固有のメソッドを呼ぶこと
    そのためget_called_class()なり遅延束縛なりして実行時にstaticメソッドのバインド先を決定してやる必要があるという
    謎設計に帰結する。遅延束縛がなかったころはさらに不自然だった。

    OOPではクラスメソッドは(各インスタンスではなく)クラス自身の振る舞いを記述するものだと言っていいだろう
    コード上でメッセージをやりとりしてシステムを形成しているオブジェクト==インスタンスだとすれば、クラス自身は何か?
    この設定いかんによって、クラス固有のメソッドとして自然なものと不恰好なものを区別できる

    static張りまくって関数ポインタのかたまりを作る人もいし、それがよいケースもある
    しかし手続きからOOに入ってやりがちな、よくないstaticについてはstatic evilとかでぐぐれば情報はある
    123 : 122 - 2014/02/02(日) 23:24:15.85 ID:???.net (+53,+25,-1)
    つられたw
    >>122>>116
    124 : nobodyさん - 2014/02/03(月) 03:26:24.18 ID:???.net (+55,+29,-43)
    遅延束縛なかったら静的メソッドのユニットテスト糞になるからな
    125 : nobodyさん - 2014/02/09(日) 11:25:27.29 ID:???.net (+91,+29,-5)
    php関数名って一貫性なさすぎだろ
    一旦全部エイリアスにして新しいの付けるべき
    126 : nobodyさん - 2014/02/10(月) 01:52:41.55 ID:???.net (-1,-29,-6)
    isset は is_set で有るべきだと思うんだ
    127 : nobodyさん - 2014/02/10(月) 03:44:49.98 ID:???.net (-6,-29,-14)
    alias.phpでも作ってろ
    128 : nobodyさん - 2014/02/10(月) 09:41:58.22 ID:???.net (+70,+29,-4)
    >>125
    正しい名前でラップするには都合がいいだろう?
    129 : nobodyさん - 2014/02/11(火) 22:13:31.86 ID:ak6dJouy.net (+23,-29,-73)
    OS XP
    php ver 4

    適切なスレが見つからなかったのですが、
    phpでmysqlのテーブルから文字列を取ってきて表示させようとしたのですが、
    半角パーセント記号を含む文字列において、パーセント記号が消え、次の文字が変な記号になってしまいます。
    文字列中の%を\%などとしてみてもダメでした。
    解決法を教えてください。
    130 : 「ガスライティン - 2014/02/11(火) 23:02:18.69 ID:lii3ZN0H.net (+28,+30,-157)
    ★マインドコントロールの手法★

    ・沢山の人が偏った意見を一貫して支持する
     偏った意見でも、集団の中でその意見が信じられていれば、自分の考え方は間違っているのか、等と思わせる手法

    ・不利な質問をさせなくしたり、不利な質問には答えない、スルーする
     誰にも質問や反論をさせないことにより、誰もが皆、疑いなど無いんだと信じ込ませる手法


    ↑マスコミや、カルトのネット工作員がやっていること

    TVなどが、偏った思想や考え方に染まっているフリや常識が通じないフリをする人間をよく出演させるのは、
    カルトよりキチガイに見える人たちを作ることで批判の矛先をカルトから逸らすことが目的。

    リアルでもネットでも、偽装左翼は自分たちの主張に理がないことをわかっているのでまともに議論をしようとしないのが特徴。
    ,.,.,,
    131 : nobodyさん - 2014/02/12(水) 09:15:48.34 ID:???.net (-6,-29,-64)
    >>129
    php4か…
    新規で学習中なら現在主流のphp5をおすすめします。
    (できればOSも来年度以降サポートがあるものが(winでもLinでも)望ましい)
    mysqlではパーセント記号がワイルドカードとして扱われるからそれが影響してるのかも。
    phpmyadminとかで取り出す前のデータが化けてないか確認してみるといいかも。
    化けてるならinsertに問題あり。
    化けてないならselectに問題あり。
    132 : nobodyさん - 2014/02/12(水) 10:53:26.54 ID:???.net (-10,-29,-25)
    >>129
    表示はどうやってるの?
    printf 使ってるなら、1番目は%sにして文字列は2番目で
    133 : nobodyさん - 2014/02/12(水) 11:57:19.74 ID:???.net (+53,+29,-10)
    >>129
    どの文字がどう変わるのか、もう少し具体的に言った方がアドバイスを
    貰いやすいよ。
    134 : nobodyさん - 2014/02/12(水) 13:37:43.31 ID:???.net (+35,+8,-50)
    >>129
    base64というものがありまして。
    抽出、表示を一気にやる前に、抽出したものをそのままログファイルなどに出力して確認してはどうだろう。
    135 : nobodyさん - 2014/02/12(水) 19:37:08.84 ID:???.net (+67,-29,-15)
    ceil(7000*1.08)が7561になるのは仕様?
    どうすれば7560って出せるの?
    切り上げでね。
    136 : nobodyさん - 2014/02/12(水) 19:55:29.57 ID:???.net (+55,+30,+0)
    137 : nobodyさん - 2014/02/12(水) 21:41:24.51 ID:???.net (+66,+29,-24)
    >>135
    PHPのせいといいたいかもしれないけれど、小数がどう扱われるかを勉強したほうがいい。
    何かと付きまとう問題なので。
    138 : nobodyさん - 2014/02/12(水) 21:51:04.93 ID:???.net (+7,-29,-38)
    >>135
    仕様

    ceil(7000*108/100)とすればよい
    消費税だろうけど、浮動小数点数型の丸め誤差は勉強した方がよいと思うよ
    139 : nobodyさん - 2014/02/12(水) 21:53:28.41 ID:rdsqA60A.net (+117,+29,-18)
    この程度で丸め誤差とか致命的に腐ってるだろ
    140 : nobodyさん - 2014/02/12(水) 22:24:47.86 ID:???.net (+65,+29,-6)
    >>139
    腐ってない言語ってなにかあるのか?
    141 : 129 - 2014/02/12(水) 22:44:26.79 ID:J2CtCpwd.net (-7,-30,-191)
    具体的には下の通りです。
    ちなみに出力はflashでしています。
    (flashが原因でないことは確認しています)

    【テーブルの文字列】
    フィールドdata2 「ダメージを50%カット。」

    【php】
    if(!$mysql->query("SELECT * from table")){
    }else{
    while($row=$mysql->fetch()){ $data=$data.$row["data1"].",".$row["data2"].",";
    }
    echo "data=".$data;

    【出力結果】
    ダメージを50?≪ット。
    142 : nobodyさん - 2014/02/12(水) 22:46:17.19 ID:???.net (-1,-29,-3)
    すみません。phpの方コピペミスで"}"足りないです。
    143 : nobodyさん - 2014/02/12(水) 22:47:07.64 ID:???.net (+6,-29,-20)
    >>139
    Perl、Python、Ruby すべて 7561 になる。
    これは1.08が2進数では循環小数になることが影響している。
    144 : nobodyさん - 2014/02/12(水) 22:54:42.67 ID:???.net (+68,+27,-13)
    >>139はCOBOL以外は全部腐ってるって言いたいんだろ。
    145 : nobodyさん - 2014/02/12(水) 22:59:09.78 ID:???.net (+2,-29,-22)
    >>129
    insert時にミスってるように見える。
    コマンドラインのmysqlで直接データ見たほうが良いと思う。
    146 : nobodyさん - 2014/02/12(水) 23:02:39.00 ID:???.net (+2,-30,-12)
    Pythonならdecimal、RubyならBigDecimalがあるけど、PHPの場合は…gmp_*ぐらいしかないか
    147 : nobodyさん - 2014/02/12(水) 23:06:27.54 ID:???.net (-1,-29,-40)
    >>145
    テーブルの文字列は、phpmyadmin上で直接手打ちしました。
    phpmyadmin上では正常に入力されているように見えます。
    148 : nobodyさん - 2014/02/12(水) 23:12:22.34 ID:???.net (-1,-29,-31)
    >>146
    文字列を使って小数点を扱うクラスとしてはdecimal便利だよね

    PHPは利用用途が多くないから実装されてないな
    149 : nobodyさん - 2014/02/12(水) 23:41:18.22 ID:???.net (+49,+10,+0)
    >>139
    レス乞食おつ。
    150 : nobodyさん - 2014/02/12(水) 23:45:37.82 ID:???.net (+52,+29,-26)
    >>141
    化けるのと同じくらい深刻なトラブルがあるんだけど、
    data= が出力されてないよ。大丈夫なのかな。心配だよ。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / php スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

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


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