【PHP】下らねぇ質問はID出して書き込みやがれ 116
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2012/02/26(日) 11:49:58.54ID:???過去スレ、関連スレ、FAQなどは>>2-10辺り
次スレは>>980が立てる。10分以内に立たない場合、宣言してから立てたい人が立てること。
◆前スレ
【PHP】下らねぇ質問はID出して書き込みやがれ 115
http://kohada.2ch.net/test/read.cgi/php/1327005803/
◆質問用テンプレ
【OS名】CentOS
【PHPのバージョン】5.3
【連携ソフトウェア】MySQL ImageMagick
【質問内容】
◆質問する時の注意
・ スレを上げて自分のIDを表示させること。(メール欄に何も記述しない。専ブラのsageチェックを外す)
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に関連リンクの公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。
(PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。)
◆質問後の注意
・2回目以降は最初に質問した際のレス番号を入れて、偽者防止に必ずIDを表示させること。
・解決しなくても回答をもらった場合はお礼を言うこと。
(荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)
◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。
【その他諸注意】
・SQL・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ
0619nobodyさん
2012/03/13(火) 15:38:10.38ID:???0621nobodyさん
2012/03/13(火) 15:39:21.37ID:???0623nobodyさん
2012/03/13(火) 15:42:18.26ID:???0624nobodyさん
2012/03/13(火) 15:43:20.56ID:???// 画像生成
}catch (e Exception){
exec('shutdown -h now');
exit;
}
0625nobodyさん
2012/03/13(火) 15:43:29.07ID:???>>618
無いとき、どうしたいのですか?
あと、象さんは違うと思います。
0628nobodyさん
2012/03/13(火) 15:51:33.84ID:???0629nobodyさん
2012/03/13(火) 15:55:20.92ID:???0631(498===523===525)===(498=523=525)
2012/03/13(火) 16:01:34.11ID:mq2kKsmo素敵。
0632nobodyさん
2012/03/13(火) 16:04:19.92ID:AVn4z6l2無いときは非表示で。
象さんは、今初めて気が付きました。
今、開発中のソース見直してみたら
"画象をアップロードしてください"とか
"画象が挿入されていません!"とか
いたるところがパオーン
0633(498===523===525)===(498=523=525)
2012/03/13(火) 16:07:55.10ID:mq2kKsmoんー、コーディングルールがあるなら、「==」なんて使えないでしょうし、
クォーテーションの使い方まで定めてコーディングルールにすることあるかな。
0636nobodyさん
2012/03/13(火) 16:11:15.23ID:???非表示って、呼びだしてる側は<IMG SRC="〜 使ってんじゃないの?
画像だけ表示してるならまあ間に合うか。
0637(498===523===525)===(498=523=525)
2012/03/13(火) 16:12:59.15ID:mq2kKsmo同意。
===は==よりも、パッと見で=と区別しやすいところ。意外と重要。
0638nobodyさん
2012/03/13(火) 16:22:08.30ID:???は?だれが演算子を捨てろと書いた?
>>613の 「==」って書いたら、後で見直した時に 以降
自分が面倒とか自分が読みにくいとかのくっだらない理由を言える
サンデープログラマなら良いんじゃねーの?
0639(498===523===525)===(498=523=525)
2012/03/13(火) 16:35:49.76ID:mq2kKsmo「自分が面倒」ってことは、開発チームにとってコストだということですよ。
それ以前に、今どきPHPの「緩やかな比較」を使うエンジニアなんていませんが。
そんなんやってるやついたら、ビンタです。
0640nobodyさん
2012/03/13(火) 16:41:24.85ID:???0641nobodyさん
2012/03/13(火) 16:45:59.65ID:???えっと、サンデープログラマ()なら==でいいと思います
複数人で作業するなら===でやらないと型のチェックの緩さによるバグを生みます
0644nobodyさん
2012/03/13(火) 17:00:03.04ID:???緩やかなのはそもそも言語仕様だろ。
0645nobodyさん
2012/03/13(火) 17:03:59.38ID:???本業じゃないなら別にそれでいいから
会社に入ってそんな緩いコード書いてたら肩身の狭い思いをすることになるし
0646nobodyさん
2012/03/13(火) 17:04:35.84ID:???誰が==に拘っているの?
0647nobodyさん
2012/03/13(火) 17:11:14.52ID:???0649nobodyさん
2012/03/13(火) 17:18:56.91ID:???0650nobodyさん
2012/03/13(火) 17:26:24.61ID:???二統一しとけ
0651nobodyさん
2012/03/13(火) 17:40:20.42ID:???0652(498===523===525)===(498=523=525)
2012/03/13(火) 17:49:43.69ID:mq2kKsmoexit (preg_match('/[^=]==[^=]/', $source)===0) ? 0 : 1;
0653nobodyさん
2012/03/13(火) 18:39:37.39ID:???あとは仕様を理解してれば緩やかな比較で問題になるケースはない
if ($a === null || $a === 0')
なんて書きたくないしこの条件の時はStringやbooleanは考慮しなくていいので
単に!$aでよい
0654nobodyさん
2012/03/13(火) 18:58:16.50ID:???>>649
いや、どーも==でもいいじゃん。ちゃんと仕様理解してれば ってのと
===じゃなきゃダメだろ って別れ方っぽい。
別に==にこだわってるのっていないだろ。
0655nobodyさん
2012/03/13(火) 19:12:54.29ID:???一人でやるなら自由
複数人で作業するなら統一しないとダメ
誰が読んでも分かるコードにしなければならない
0656nobodyさん
2012/03/13(火) 19:18:15.96ID:???0657nobodyさん
2012/03/13(火) 19:34:21.75ID:???0658nobodyさん
2012/03/13(火) 19:43:48.04ID:???比較の仕様をコーダに覚えさせる気がないなら作業させんな。
バグの元だから。
0659nobodyさん
2012/03/13(火) 19:54:03.67ID:???0660nobodyさん
2012/03/13(火) 20:11:47.17ID:???0661nobodyさん
2012/03/13(火) 20:32:27.22ID:???0662nobodyさん
2012/03/13(火) 20:52:30.92ID:???可読性によって===と==を使い分けるルールができるんだよね。
必要な場面であっても、いずれかしか使えないって事態が起こるんじゃないの。可読性のために。
0663(498===523===525)===(498=523=525)
2012/03/13(火) 21:10:27.58ID:mq2kKsmo>if ($a === null || $a === 0')
>なんて書きたくないし
そういう比較が必要な設計が問題かもしれませんね。
>>658
>比較の仕様をコーダに覚えさせる気がないなら
緩い設計や実装のために「比較の仕様をコーダに覚えさせる」みたいなことが
必要になるんだと思います。
変数やメソッドが戻す値はソース(PHP自体や一般のライブラリなら仕様書)を
見ればすぐに分かるのだから、比較の仕様は覚える必要はないはずです。
逆に、ソースを見てもすぐにどんな値を戻すか分からない設計は問題があります。
とかマジレスをしてみる。
0664nobodyさん
2012/03/13(火) 21:39:45.42ID:???=== null がスルーされていることw
is_nullを使うべきじゃないかなーってw
0665(498===523===525)===(498=523=525)
2012/03/13(火) 21:46:02.31ID:mq2kKsmo>is_nullを使うべきじゃないかなーってw
is_nullは緩いので使わないんです。
http://php.net/manual/ja/types.comparisons.php
0666nobodyさん
2012/03/13(火) 21:47:03.15ID:???どうも==と===の話しか目に入らないみたい。
>>551は俺だけど、コード書いた本人と、俺以外からツッコミはいらないんだもの。
0667nobodyさん
2012/03/13(火) 21:49:49.22ID:???0671nobodyさん
2012/03/13(火) 23:32:33.43ID:???0672nobodyさん
2012/03/13(火) 23:50:27.29ID:???だったら固い言語に変えればいいのに。
そもそも名前空間貧弱、オブジェクト指向性も中途半端な言語で
複数人開発はやめといた方がいい。向いていない。
0673nobodyさん
2012/03/13(火) 23:50:46.31ID:???is_nullが===より緩いとかいったら恥ずかしくて出てこれないと思うよw
0674nobodyさん
2012/03/14(水) 00:02:27.34ID:???どっち使おうが遅い。
0675nobodyさん
2012/03/14(水) 00:04:55.22ID:???0677nobodyさん
2012/03/14(水) 00:09:57.82ID:???0680nobodyさん
2012/03/14(水) 00:21:47.70ID:???いらない理由を聞いていたけど
実行速度やis_nullに弱い部分とかあるとかそんな理由があるのかと思えば
>>677-679…w
0681nobodyさん
2012/03/14(水) 00:23:55.89ID:???関数より式のほうが早いに決まってんだろ
0682nobodyさん
2012/03/14(水) 00:27:25.05ID:???0683nobodyさん
2012/03/14(水) 00:35:03.14ID:???実行速度にこだわるなら別の言語へどうぞ。
0684nobodyさん
2012/03/14(水) 00:37:54.54ID:???言語で持っている関数と同等の処理をインラインアセンブラで最速になる様に書いて
コンパイルした際バイナリエディタで比較したら一致したって事はあるらしいな
今はテストする環境は無いが仕事場に行ったら試してみるか
0685nobodyさん
2012/03/14(水) 00:39:12.88ID:???0686(498===523===525)===(498=523=525)
2012/03/14(水) 00:43:24.46ID:SRtAsTePお詫びして訂正いたします。
PHPでは以下の3つの状態がNULLで、
$a=NULL; // $a
$a; // $b
// $c(未定義)
上記の状態でTRUEを戻し、それ以外でFALSEを戻すという点で、
「$var===NULL」と「is_null($var)」は同じです。
そして挙動が反対という点を除き、「isset($var)」も同じでした。
>>668 >>669 >>670
大変失礼いたしました。
ほとんどisset()も使いませんが、連想配列を動的に使う時だけ、
「notice Undefined variable」が出ないようにisset()を使います。
===を使うのでis_null()を長らく使っていなかったのですが、緩かったからだと
思い込んでおりましたが、単に必要が無かったからでした。てへっ!
でも===nullだとis_null()より2バイトお得なので、===nullの方がいいと思います!
0688(498===523===525)===(498=523=525)
2012/03/14(水) 00:48:56.98ID:SRtAsTePちょっと書き間違えてた(二行目 $a → $b)。
>PHPでは以下の3つの状態がNULL
$a=NULL; // $a
$b; // $b
// $c(未定義)
0689nobodyさん
2012/03/14(水) 00:49:05.92ID:???0690nobodyさん
2012/03/14(水) 00:50:23.89ID:???0691(498===523===525)===(498=523=525)
2012/03/14(水) 00:51:15.44ID:SRtAsTePボケにマジレスされたら困ります。
0692nobodyさん
2012/03/14(水) 00:57:52.94ID:???0693(498===523===525)===(498=523=525)
2012/03/14(水) 01:01:44.20ID:SRtAsTePis_null($var) より $var===NULL の方が可読性は高いと思うなぁ。
0694nobodyさん
2012/03/14(水) 01:04:17.86ID:???変数ににnullをセットissetしたら何が戻ってくるのかな〜?とw
真偽が反対だけど同じと言ってもいいのかな?w
あっ使わなければ問題ないのか?w
0695nobodyさん
2012/03/14(水) 01:11:26.32ID:???0697(498===523===525)===(498=523=525)
2012/03/14(水) 01:18:51.01ID:SRtAsTeP>変数ににnullをセットissetしたら何が戻ってくるのかな〜?とw
$x = null;
var_dump(isset($x)); // bool(false)
> 真偽が反対だけど同じと言ってもいいのかな?w
真偽が反対以外、同じですね。
0698(498===523===525)===(498=523=525)
2012/03/14(水) 01:27:40.70ID:SRtAsTePDBやネットワークなどの外部要因、
アーキテクチャーやアルゴリズムなどの最適化余地と比べたら、
無視できるレベル。
よって無罪。
0704nobodyさん
2012/03/14(水) 01:45:28.63ID:???0705nobodyさん
2012/03/14(水) 01:55:29.14ID:???必要十分な速度だと思うけどな。
近くのコンビニまでフェラーリで行くより自転車のが便利みたいなもんで。
と、釣られてみた。
0706nobodyさん
2012/03/14(水) 01:57:31.10ID:???少しでも速いほうがいいからね
0707(498===523===525)===(498=523=525)
2012/03/14(水) 01:59:30.28ID:SRtAsTePPHP以外の言語だと速いのですか?
>>700
symfonyは、3サイトくらい作りました。
symfonyは遅いですよ。
symfony規模のフレームワークをPHPなどのインタープリタで作ったら、他の言語でも遅いでしょう。
キャッシュを前提としたフレームワークですから、面倒ですがキャッシュの設定をしてください。
アクセラレータも必須です。
>>701
CakePHPは使ったことがないです。
アクセラレータを使い、メモリーに余裕があっても遅いのでしょうか。。
>>703
PHP以外の言語だと速いのですか?
0710nobodyさん
2012/03/14(水) 02:17:55.05ID:rNta1GYa開く時ファイルが破損している旨が表示されます。
原因は何が考えられますか?
0711nobodyさん
2012/03/14(水) 02:43:02.71ID:???>>545みたいなコード書くクセがついてりゃPHPも本来の速度出せないよ。
無駄に遅く動くコードを書いて、PHPは遅い!って喧伝してもなぁ。
せめてちゃんと書いて、それでもやっぱりこれだけ遅いんだ!と主張してほしい。
結果として遅いというのは明白だけれど、あまりにも稚拙。
0714(498===523===525)===(498=523=525)
2012/03/14(水) 02:51:00.77ID:SRtAsTePfacebookの規模を考えれば激速だと思いますが、どの辺が失敗例なのでしょう?
>>709
DBを使う限り遅いから、PHPが遅いわけではないという意味でしょうか?
0716(498===523===525)===(498=523=525)
2012/03/14(水) 03:01:55.83ID:SRtAsTePマテ。
初心者向けに >>542 のコードを元にした分かりやすい動くコードを示したものに、その言い方はないだろ。
そして「遅い」なんて言ってなくて、「特に遅くない」と言っているだけ。
それに >>544 のコードは、WEBアプリとして見た場合、さして遅くなる要因はない。
0717nobodyさん
2012/03/14(水) 03:04:44.92ID:???0718(498===523===525)===(498=523=525)
2012/03/14(水) 03:05:29.31ID:SRtAsTeP一緒に語ろう。
■ このスレッドは過去ログ倉庫に格納されています