1 名前:nobodyさん [2009/03/09(月) 02:14:28 ID:HyrthkeE] 質問者はまず>>1 を良く読むこと(必須!) 過去スレ、関連スレ、FAQなどは>>2-10 辺り 次スレは>>980 が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。 ◆前スレ 【PHP】下らねぇ質問はID出して書き込みやがれ 81 pc11.2ch.net/test/read.cgi/php/1234958956/ ◆質問用テンプレ 【OS名】vine linux 【PHPのバージョン】php5.26 【連携ソフトウェア】mysql 【質問内容】 ◆質問する時の注意 ・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す) ・ 己の行った操作、変更などを詳しく明記すること。 ・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。 ・ 質問者として、態度をわきまえること。 ・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。 (PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。) ◆質問後の注意 ・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。 ・解決しなくても回答をもらった場合はお礼を言うこと。 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。) ◆回答者への注意 ・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
584 名前:nobodyさん mailto:sage [2009/03/24(火) 04:25:00 ID:???] そりゃechoですからね 出力だけしてくださいよ
585 名前:nobodyさん mailto:sage [2009/03/24(火) 04:25:16 ID:???] それは、君が>>1 を読めない子ちゃんだから。
586 名前:nobodyさん mailto:sage [2009/03/24(火) 04:26:30 ID:???] すいません、なぜこれでバグになるかわからないんです echo $a[0] = 'aaa'; echo $a[0][0] = 'news'; print_r($a); ↓結果 Array ( [0] => jaa )
587 名前:nobodyさん mailto:sage [2009/03/24(火) 04:26:58 ID:???] >>584 おまいさんは、輪をかけてドアホーみたいだけどな
588 名前:nobodyさん mailto:sage [2009/03/24(火) 04:28:52 ID:???] >>586 バグってないじゃん。仕様通り 文字列の1文字目を置換してる
589 名前:nobodyさん mailto:sage [2009/03/24(火) 04:30:23 ID:???] バグって増すよ <?php $a[0] = 'aaa'; $a[0][1] = 'jjjjk'; print_r($a); Array ( [0] => aja )
590 名前:nobodyさん mailto:sage [2009/03/24(火) 04:32:35 ID:???] >>589 バグじゃないよ。 $a[0]は文字列 $a[0][1]はその2文字目を代入しようとしてる文字列の1文字目で置換せよ だから、$aは1要素配列のまま。 そんだけ。
591 名前:nobodyさん mailto:sage [2009/03/24(火) 04:34:04 ID:???] >>590 そうなるんですか。知りませんでした。今までやってきて そんな配列あったんですか 適当に使ってました
592 名前:nobodyさん mailto:sage [2009/03/24(火) 04:34:50 ID:???] >>591 マニュアルに書いてあるよ。
593 名前:nobodyさん mailto:sage [2009/03/24(火) 04:35:22 ID:???] 自分は初心者なので、配列=箱としか書いてあるものをみたことが なかったんです。助かりました>>1-589
594 名前:nobodyさん mailto:sage [2009/03/24(火) 04:39:30 ID:???] 変数を array で初期化しないで、いきなり配列として使うのは、どうも生理的・本能的にダメ。
595 名前:nobodyさん mailto:sage [2009/03/24(火) 04:42:07 ID:???] arrayで初期化しても置き換えられますよ 自分初心者だったのでこんなのあったんだとびっくりしました
596 名前:nobodyさん mailto:sage [2009/03/24(火) 04:46:27 ID:???] 残念ながら>>594 が言ってるのは次元の違う話だ PHP使いは適当がモットーだから気にしなくていい
597 名前:nobodyさん mailto:sage [2009/03/24(火) 04:49:11 ID:???] >>596 そうですか。今まで掲示板とブログ作ったんですか そのような配列の使い方を書いてあるのがみたことなくて 気になりました
598 名前:nobodyさん mailto:sage [2009/03/24(火) 07:45:46 ID:???] 2重配列って呼び方であってる?
599 名前:nobodyさん mailto:sage [2009/03/24(火) 07:53:32 ID:???] 2次元配列じゃないよ。そのケース。 単に、1次元配列の要素が文字列で その文字列にstring offsetでアクセスしてるだけ
600 名前:586 mailto:sage [2009/03/24(火) 08:34:05 ID:???] 難しいなあそんなの出てこなかった 初心者本には、 あくまで 配列は個々の箱だと意識してました データ型を指定しなくていいように、箱も好きに使っていいと 思ってました。
601 名前:nobodyさん mailto:sage [2009/03/24(火) 08:34:37 ID:???] そりゃ初心者本だからだろ
602 名前:nobodyさん mailto:sage [2009/03/24(火) 08:52:05 ID:???] >>589 バグ >>590 は下のコードと勘違いしてるんじゃないのかね $str = "12345"; $str[0] = "a"; echo $str; // a2345
603 名前:nobodyさん mailto:sage [2009/03/24(火) 08:55:32 ID:???] >>602 いや、だからそれとやってることは一緒だろ
604 名前:nobodyさん mailto:sage [2009/03/24(火) 08:56:49 ID:???] 602が勘違いしてるんじゃないのかね
605 名前:nobodyさん mailto:sage [2009/03/24(火) 09:01:48 ID:???] コンパイラ言語はデータ型ちゃんと指定するから 静的な変数(配列)の型定義というのは 型に応じたメモリ領域を確保するということ(Javaでint型なら4バイトlong型なら8バイト等) PHPはインタプリタだからその辺を動的にやってるわけ この辺をちゃんと理解してないと正しいイメージはわかない 配列は箱ではなく連続したデータというイメージが正しい メモリ上ではそのように配置されている
606 名前:nobodyさん [2009/03/24(火) 09:45:45 ID:VfITkfEn] >>582 versionは5.2.3だったと思います C:\php>php -m としたら、「isqlt09a.dllが見つからなかったため、このアプリケーションを開始できませんでした。 インストールし直すと解決する場合があります」 とアラートが出ました C:\php>php -m PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_ifx.dl l' - 指定されたモジュールが見つかりません。 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_oci8.d ll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_pdo_oc i.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_pdo_oc i8.dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_pspell .dll' - 指定されたモジュールが見つかりません。 in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\PHP\ext\php_sybase _ct.dll' - 指定されたモジュールが見つかりません。 C:\php>php -pでも同じ結果です 見つからないって言われてるモジュール、extの中にちゃんと存在してるんですが、、
607 名前:586 mailto:sage [2009/03/24(火) 19:06:44 ID:???] 誰かプロの人 $aiueo[0] = "a"; $aiueo[0][0] = "aa"; とPHPで入れると置き換わったりする理由を書いて下さい
608 名前:nobodyさん mailto:sage [2009/03/24(火) 19:09:04 ID:???] >>606 記憶違いかも知れんが、依存関係の都合でライブラリを読み込む順序によって、 そんなメッセージがでたかも。 以前、Windows版のPHPってサンプルのphp.iniの順番だとエラーが出てずいぶん 悩んだことがある。
609 名前:nobodyさん mailto:sage [2009/03/24(火) 20:03:31 ID:???] >>607 >>1
610 名前:nobodyさん mailto:sage [2009/03/24(火) 20:04:24 ID:???] >>606 書いてないから確認しとくけどinclude_pathの設定は?
611 名前:nobodyさん mailto:sage [2009/03/24(火) 20:09:50 ID:???] >>607 置き換わる理由は仕様だから。それだけ。 $a[0] = 'abc'; $as = 'abc'; if ($a[0][0] === $as[0]) { echo ' $a[0][0] equal $as[0]' . " <br />\n"; } echo "target :" . $as . " = " . $a[0] . " <br />\n"; echo "offset0:" . $as[0] . " = " . $a[0][0] . " <br />\n"; echo "offset1:" . $as[1] . " = " . $a[0][1] . " <br />\n"; echo "offset2:" . $as[2] . " = " . $a[0][2] . " <br />\n"; $as[1] = $a[0][1] = 'xxxxxxx'; if ($a === array($as)) { echo ' $a is array of $as' . "<br />\n"; } echo "replaced:" . $as . " = " . $a[0] . " <br />\n"; echo "offset0 :" . $as[0] . " = " . $a[0][0] . " <br />\n"; echo "offset1 :" . $as[1] . " = " . $a[0][1] . " <br />\n"; echo "offset2 :" . $as[2] . " = " . $a[0][2] . " <br />\n";
612 名前:nobodyさん mailto:sage [2009/03/24(火) 20:14:05 ID:???] >>606 併せて、php.iniで、extension_dirがC:¥PHP¥extになってるか確認してみて。
613 名前:nobodyさん mailto:sage [2009/03/24(火) 20:15:53 ID:???] すまんinclude_path関係ないね
614 名前:nobodyさん mailto:sage [2009/03/24(火) 20:36:16 ID:???] >>606 phpinfo()を実行してみて、php.iniをどこから読み込んでいるのかも確認してみて。 以前、WINDOWSディレクトリと、phpの展開先の両方に異なる設定のphp.iniを置いていて、はまったことがあるので。
615 名前:nobodyさん mailto:sage [2009/03/24(火) 20:37:10 ID:???] 始めの頃ありがちw
616 名前:nobodyさん [2009/03/24(火) 21:07:22 ID:/zsLtnA9] クラスの数が多くなってきたので(__autoloadで読み込み) 複数クラスを一つのファイルにまとめたら速くなるのではと 思うのですが、それって実際どの程度の効果があるでしょうか? まとめなくても、元来OSがファイルキャッシュするので、 あんまり変わらない気もします
617 名前:nobodyさん mailto:sage [2009/03/24(火) 21:09:24 ID:???] 計れば良いのでは?
618 名前:nobodyさん mailto:sage [2009/03/24(火) 21:18:30 ID:???] >複数クラスを一つのファイルにまとめたら速くなるのではと 再利用とか無視して一人で使うんだろうから別にいいとは思うけど それでも基本どおり1クラス1ファイルにしときな
619 名前:606 [2009/03/25(水) 00:12:15 ID:4yhBz/QX] みなさんたくさんのレスありがとうございます >>612 そうなってました >>614 C:\WINDOWS でした。正しいですよね… >>608 さんの書いてる原因かなぁ もうwindowsで作るの自体やめよっかな
620 名前:nobodyさん mailto:sage [2009/03/25(水) 00:32:37 ID:???] >616 ボトルネックがわかっていない状態でチューニングをしてはいけない。 まずは測定。 ファイル数云々というより、__autoload()の呼び出し回数が減ることによる高速化は一応期待できるかな。 マジックメソッドの類は総じて重い。 まあ、DBやファイルへのアクセスがあるならそっちがボトルネックになってるとは思うけど。
621 名前:nobodyさん mailto:sage [2009/03/25(水) 01:59:46 ID:???] >>616 環境いじれるなら、APCとか使うのが良いんじゃないかなぁと思う。 ソースコードは扱いやすい単にしておいた方が、いろいろ良いし。 自分ははクラスはモジュールぐらいの単位の方が扱いやすいんで、 1クラス1ファイルにはしてないけど。
622 名前:nobodyさん [2009/03/25(水) 11:16:26 ID:yQlt60AA] PDOで永続接続を使っている場合、prepareを使うと2回目以降の実行が効率化するんでしょうか それとも実行のたびに毎回prepareステートメントを発行するから意味無いんでしょうか
623 名前:nobodyさん mailto:sage [2009/03/25(水) 11:18:39 ID:???] prepareって接続してんの?
624 名前:nobodyさん [2009/03/25(水) 15:06:05 ID:Ijn9qBql] htmlspecialchars($var, ENT_QUOTES, 'utf-8') でhtmlエスケープしていたのですが、 アンパサンドがエスケープされるので、 数値実体参照が「&#〜;」という文字列として表示される ということが分かりました。 数値実体参照の場合は生で表示するにはどうしたらいいですか?
625 名前:nobodyさん mailto:sage [2009/03/25(水) 15:15:24 ID:???] 出力するときに&に置換すればいいじゃん
626 名前:nobodyさん mailto:sage [2009/03/25(水) 16:45:47 ID:???] フォームの処理でmethodがpostの場合、 一度submitで送信した後、更新ボタンを押すと 再度送信するようなアラートが出ますが、 これを出さないようにする方法はないでしょうか? header関数で送信元のページにリダイレクトして戻す方法以外で教えて下さい。
627 名前:626 [2009/03/25(水) 16:47:05 ID:7ip+uIiL] すみません、ID隠してました・・・
628 名前:nobodyさん mailto:sage [2009/03/25(水) 17:24:35 ID:???] >>626 ブラウザの仕様なのでPHPでどうこうできる問題じゃない
629 名前:nobodyさん [2009/03/25(水) 19:52:08 ID:Ut4OfJaE] 俺のマシンはwinXPの32ビットで4Gのメモリを積んでます。 システムのプロパティで見ると3.25GB認識してるのですが PHPでどんなに重い処理をしてもタスクマネージャで見ると700MB位しか使っていません。 PHPのメモリリミットは-1の無制限にしてるのに何で? もっとメモリ使ってくれたら速くなりそうなんだが。 スペックはアパッチ、PHP5
630 名前:nobodyさん mailto:sage [2009/03/25(水) 20:13:46 ID:???] >>629 んなこたーない
631 名前:nobodyさん mailto:sage [2009/03/25(水) 20:38:00 ID:???] メモリ使ったら速くなる?
632 名前:nobodyさん mailto:sage [2009/03/25(水) 20:47:09 ID:???] >>626 「リロード対策」というキーワードでググると 情報が出てくる。 だが、自分には複雑すぎて理解できなかったが。
633 名前:nobodyさん [2009/03/25(水) 21:30:14 ID:POBIuYee] 問題の切り分けレベルですいませんが kokusan.syokuryo.jp/blog_parts.html このblogパーツですが中身のjs↓ kokusan.syokuryo.jp/blogparts/kokusanParts.js を機能丸ごと再現してみたいのですが(用途は勉強、兼遊びで) 再現するのに ■サーバサイドの技術は何が必要か ■ローカル側は.jsだからとりあえずはコピペで十分? という所で(入口ですが)詰まってます。 どなたかご助言plz
634 名前:nobodyさん mailto:sage [2009/03/25(水) 21:32:29 ID:???] まずJavaScriptの基礎から学ぶといいかと
635 名前:nobodyさん mailto:sage [2009/03/25(水) 21:50:38 ID:???] >>629 画像データをメモリ上に読み込んだりしない限り そんな使うことはないだろ 重い処理なんていってもPHPの場合たかがしれてる
636 名前:nobodyさん mailto:sage [2009/03/25(水) 23:08:42 ID:???] >>625 そうですね そもそも&までエスケープする仕様はやりすぎのような・・ 2chでも&はエスケープしてないし。googleも。
637 名前:nobodyさん mailto:sage [2009/03/25(水) 23:23:27 ID:???] >>636 xmlデータにおいては、&は実体参照必須だけどね。
638 名前:nobodyさん mailto:sage [2009/03/26(木) 00:04:21 ID:???] >636 気に食わないなら文句言ってないで自分で実装すりゃいいじゃん。 単純に置換するだけだから、str_replace一発でできるぞ。 俺はやりすぎとは思わないな。入力文字列をそのまま画面に出力したいなら、&の置換もしたほうがいい。
639 名前:nobodyさん [2009/03/26(木) 00:25:15 ID:l1PHOXdz] 数値を0.5刻みでフォーマットしたいのですが、 何かスマートな方法はありますでしょうか? (例) 1.0以上1.5未満 => 1.0 1.5以上2.0未満 => 1.5 2.0以上2.5未満 => 2.0 よろしくお願いします。
640 名前:nobodyさん mailto:sage [2009/03/26(木) 00:35:55 ID:???] >>639 2倍にして切り捨てて半分にする
641 名前:nobodyさん mailto:sage [2009/03/26(木) 00:39:42 ID:???] >>639 四捨五入じゃなくて?
642 名前:nobodyさん mailto:sage [2009/03/26(木) 00:39:59 ID:???] >>638 安全にこしたことはないですが、今回は実体参照を頃されてしまうのが問題なので・・ それにしても、エンコードを意識せず、単に置換したらいいだけなんですか? だとしたら、htmlspecialcharsのエンコード指定は何に使われているんだろう
643 名前:nobodyさん mailto:sage [2009/03/26(木) 00:55:11 ID:???] >>639 round
644 名前:nobodyさん [2009/03/26(木) 01:05:32 ID:fG8U3yBv] MySQLのSQL文のWHEREを $where_ary = array("id"=>"1","name"=>"あああ"); foreach($where_ary as $key=>$value){ $array[] = $key."='".$value."'"; } $where = join("&",$array); と言うように連想配列を使って生成しています。 上記のようにすると、変数に値が入っている場合は大丈夫なのですが、 MySQLの関数(NOWやDATE_FORMATなど)を使いたい時、使えません。 かといって値の部分に関数を記述しても文字列となります。 もっと効率よく生成するには、どのようにすれば良いのでしょうか?
645 名前:nobodyさん mailto:sage [2009/03/26(木) 01:07:24 ID:???] >>642 指定はできるけど、何も使われていない、って情報が どっかのブログに書いてあった
646 名前:nobodyさん mailto:sage [2009/03/26(木) 01:23:03 ID:???] >>644 Zend_Dbの実装はこんな感じ framework.zend.com/manual/ja/zend.db.html#zend.db.adapter.quoting
647 名前:nobodyさん mailto:sage [2009/03/26(木) 01:52:56 ID:???] framework.zend.com/manual/ja/zend.db.select.html#zend.db.select.building.columns-expr
648 名前:644 mailto:sage [2009/03/26(木) 02:06:29 ID:???] >>646-647 これは非常に参考になります。 実際に自分もSQL文の生成にはクラスを使っているので Zend Dbを参考に、独自の仕様にしてみます。
649 名前:nobodyさん [2009/03/26(木) 11:39:12 ID:p1YkL4wy] WindowsにCLIでインストールされたPHPでphp -a ではなく、 ある程度インラインで入力してからまとめて実行したいのですが、 どうすればできますか?
650 名前:nobodyさん mailto:sage [2009/03/26(木) 13:22:22 ID:???] >>649 C:\>php
651 名前:nobodyさん [2009/03/26(木) 18:55:54 ID:JIscrcVE] phpで、「何時間毎に」とか、「何月何日に」とかいう指定で、プログラムを走らせたりメールおくったりするにはどうすればいいでしょうか?
652 名前:nobodyさん mailto:sage [2009/03/26(木) 19:01:47 ID:???] >>651 cron
653 名前:nobodyさん mailto:sage [2009/03/26(木) 19:02:58 ID:???] >>651 それか、そのファイルに対する最終アクセス時刻を記録しておいて、 「前回のアクセスは3日前だな、、、 だったらよし、今回は3日分の処理を一気にやればいいんだな」 とかってプログラムで判断させて、アクセスするたびに その処理を実行するとか。 もちろん、この場合、アクセスがなければ処理も実行されない。
654 名前:nobodyさん mailto:sage [2009/03/26(木) 19:03:41 ID:???] Windowsだったら、タスク スケジューラ それがUNIXのcronと同じ。
655 名前:nobodyさん mailto:sage [2009/03/26(木) 19:08:12 ID:???] >>651 こういうこと? ttp://phpspot.org/blog/archives/2005/11/croncronphp_pse.html
656 名前:nobodyさん mailto:sage [2009/03/26(木) 19:31:31 ID:???] クソサイトの宣伝すんなや web cron
657 名前:nobodyさん mailto:sage [2009/03/26(木) 20:06:05 ID:???] すぐ吠えるDQNって・・・どこまで底辺なんだよ
658 名前:nobodyさん [2009/03/26(木) 20:59:43 ID:JIscrcVE] ありがとう、普通にcronすればよかった、トンクス
659 名前:nobodyさん mailto:sage [2009/03/26(木) 21:05:33 ID:???] >>649 STDINを使えという話ではなくて? jp.php.net/manual/ja/features.commandline.php
660 名前:nobodyさん [2009/03/26(木) 21:23:14 ID:ih4lRG32] PHPのソースを読んでコメントを抽出する正規表現を書きたいのですが どうにもうまくヒットさせることができません /** */ */ の時に長い方がマッチされてしまいます どう書けばいいですか?
661 名前:nobodyさん mailto:sage [2009/03/26(木) 21:32:53 ID:???] "!/\*(.*?)\*/!s"
662 名前:nobodyさん mailto:sage [2009/03/26(木) 21:48:28 ID:???] >>661 できました!ありがとうございました。 *?で最短にマッチさせられるんですね
663 名前:nobodyさん [2009/03/26(木) 23:16:05 ID:46RAjvuH] fgetcsv関数って基本的にwhileとセットで使うの?
664 名前:nobodyさん mailto:sage [2009/03/26(木) 23:23:56 ID:???] retunr値が配列なだけだろ
665 名前:nobodyさん [2009/03/27(金) 07:08:11 ID:viybN2w6] symfonyにあるような、 ディレクトリを再帰的にさらってクラスをリストアップする機能が欲しいのですが どうしたらいいですか? PEARのPHP Parserを使ってみたのですが エラーが出まくって使い物になりませんでした
666 名前:nobodyさん mailto:sage [2009/03/27(金) 08:05:52 ID:???] >>665 既に検討したとは思うが、クラス名を取得する程度なら、Tokenizerで処理しても、 大した手間でもなんじゃないの。 jp.php.net/manual/ja/book.tokenizer.php
667 名前:nobodyさん [2009/03/27(金) 09:19:56 ID:DtOzsPN+] rename関数でフィアルを移動するプログラムを書いています 移動先に同名のファイルがある場合に上書きさせたいのですが 一度unlinkしてからrenameしないと駄目なのでしょうか?
668 名前:nobodyさん mailto:sage [2009/03/27(金) 09:23:54 ID:???] うん
669 名前:nobodyさん mailto:sage [2009/03/27(金) 15:04:57 ID:???] >>666 こんな便利そうなものがあったとは! まさに欲しかったものです ありがとうございました
670 名前:nobodyさん [2009/03/27(金) 15:35:49 ID:LbT/oMC/] ただ今MVCにてアプリケーションを作成していて モデル部分にデータベース関係の処理(selectやdelete)を全てまとめてますが フォームの項目チェックなどのバリデーション関係は モデルではなくコントローラーに記述するべきですかね?
671 名前:nobodyさん mailto:sage [2009/03/28(土) 00:29:13 ID:???] >670 MとCならばC。Cからバリデーション専用クラスを呼び出せ。 ただし、Cにベタ書きで実装するのはオススメできない。Visitorパターンで実装するのが割と良く見る形。 バリデートはほぼ全てのフレームワークに存在する機能なので、おとなしくフレームワークのマニュアルを読んで構成をパクったほうが速いけどな。
672 名前:nobodyさん mailto:sage [2009/03/28(土) 00:34:00 ID:???] バリデーションがC??
673 名前:nobodyさん mailto:sage [2009/03/28(土) 02:42:46 ID:???] 画面やテーブルごとにチェックする項目が異なるのに バリデーションがCはありえない
674 名前:nobodyさん [2009/03/28(土) 06:25:24 ID:xuBHT5om] newしたオブジェクトを変数に代入せずにメソッドを呼びたいのですが そういう書き方ありますか? {new Hoge()}->method() みたいなイメージです
675 名前:nobodyさん mailto:sage [2009/03/28(土) 06:46:27 ID:???] >>674 74street.ddo.jp/index.php?PHP%2Ftips%2Fphp003 これかな? ちなみに、インスタンス化せずメソッドを使う場合、宣言時にメソッドに「static」を付け、「クラス名::メソッド名」で呼び出す。。 class SampleClass { public static function func($a,$b){ return $a + $b; } } $ans = SampleClass::func(1,2);
676 名前:nobodyさん mailto:sage [2009/03/28(土) 08:45:03 ID:???] >>674 それは不可能
677 名前:nobodyさん mailto:sage [2009/03/28(土) 08:49:24 ID:???] >>676 お前、馬鹿だろ 前のレスで完結してるのにわざわざくだらん横槍を入れる必要はない
678 名前:nobodyさん mailto:sage [2009/03/28(土) 08:56:18 ID:???] 静的メソッドしか呼び出せないじゃん
679 名前:nobodyさん mailto:sage [2009/03/28(土) 08:58:31 ID:???] >>676 じゃないが、>>675 は別モンだと思うけどな。 >>674 は何でそんなことしたいんかナゾだけど。目的も書くべきだろ。 ただの興味ということなら、それはそれで良いけど。
680 名前:nobodyさん mailto:sage [2009/03/28(土) 11:44:19 ID:???] というか何の意味があるんだろう
681 名前:nobodyさん [2009/03/28(土) 12:52:45 ID:0oeFWAvW] マニュアルを見てもいまいちわからないのですが $a = 2; $b = $a * 2; echo $b; $a = 4; echo $b; 期待する結果は48ですが実際は44になります。($bには2行目の結果が入ったままってことでしょう) 2行目を$b = &$a * 2;のようにすると24になります。(*2は無視?) 期待する結果を表示するにはどのように記述すればいいのでしょうか。 PHP5.2.6
682 名前:nobodyさん mailto:sage [2009/03/28(土) 14:13:07 ID:???] >>681 言いたい事は理解できた $b は常に $aに入れた値を2倍にする変数にしたいという事だな 2行目の $b = $a * 2 は $bに$aの値を2倍した値を入れるという命令だ だから2行目では$bで$a(2)*2で4が入って3行目で4が出力、 4行目で$aに4を代入しているが5行目では$bは変化無しの4が表示されるから44となる そして $b =& $a * 2 は変数の参照という事になって $b に入れた値は $a にも反映されるという事だ 2行目で変数&bは$aを参照しているとしているから3行目で2が表示されて 4行目で$aに4を入れているが$aと$bは参照の関係にあるから$bは4となり24となる 変数でそんな事が出来るか記憶を辿ってみたが…出てこない 件を解決する簡単な方法は関数を作ることだと思うんだが?
683 名前:nobodyさん mailto:sage [2009/03/28(土) 14:21:32 ID:???] >>681 掛け算の結果にまで参照変数を反映させるのは無理。もう一回掛け算するしかない $a = 2; $b = $a * 2; echo $b; $a = 4; $b = $a * 2; echo $b;
684 名前:nobodyさん [2009/03/28(土) 14:30:41 ID:jCCBzDpK] pChartを使ってレーダーチャートを描いています。 デフォルトでは縦軸にラベル(目盛?10、20、30...など)が表示されるのですが、 これを表示しないようにするにはどうすればよいのでしょうか? 公式のドキュメントを読んだのですが、わかりませんでした。 どなたか分かる方がいましたら、よろしくお願いします。