【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等)・フレームワークは各該当スレへ
0581578
2012/03/13(火) 07:31:55.39ID:???パフォーマンス云々いうほどのものではないのにはかわりないが・・・
$start = microtime(true);
$a = 1;
for ($i = 0; $i < 1000000; $i++) {
if ($a === $i) {}
}
echo microtime(true) - $start;
0582nobodyさん
2012/03/13(火) 08:01:05.73ID:???オブジェクトでしょ?
>>581
1回あたり0.00000005秒の違いか
552の限界までパフォーマンスを追及する姿はかっこいいね!
0583nobodyさん
2012/03/13(火) 08:22:23.41ID:???0585nobodyさん
2012/03/13(火) 08:38:32.12ID:???0586nobodyさん
2012/03/13(火) 09:38:54.23ID:???0587nobodyさん
2012/03/13(火) 09:58:01.86ID:???ほれみろWindows+XAMPPしか使ってこなかったろ
今すぐ仮想マシンを用意してubuntuでもdebianでも何でもいいからいれろ
0589nobodyさん
2012/03/13(火) 10:18:22.84ID:???0590nobodyさん
2012/03/13(火) 10:22:22.43ID:???=== ベテラン向け
0591nobodyさん
2012/03/13(火) 10:27:23.20ID:???=== 初心者向け
0593nobodyさん
2012/03/13(火) 10:38:07.99ID:???議論することでもなんでもないが
ちなみに===演算子はJavaScriptにもある
0594nobodyさん
2012/03/13(火) 10:43:18.63ID:???==を使うのは初心者だけにしておけ
0595nobodyさん
2012/03/13(火) 10:57:32.85ID:???インタプリタにはほとんどある
もしくはそれに類する関数とか(JavaやC#でいうString.equalsのようなもの)
0596nobodyさん
2012/03/13(火) 11:15:38.43ID:???・外部サイトにアクセスするときfile_get_contentsは使うな
・比較に==は使うな
・エイリアスは使うな
・非推奨関数は使うな
・XAMPPは使うな
0597nobodyさん
2012/03/13(火) 11:32:25.71ID:???問題はパフォーマンスにもそんな差が出ないとわかったところで
使う上ではちゃんと仕様を把握すればいいじゃんって話じゃん。
PHPerがくそだくそだって言われる最たるところは、ちゃんと仕様や内容を
把握した上でスクリプトくまねーところだろ。
>>581
明示的に一度==のときにstringで放り込んでから比較するとどーなる?
0599nobodyさん
2012/03/13(火) 11:52:56.52ID:???・file_get_contents推進します。効率なんて気にしてはいけません。UAもクッキーも送信できるのでおすすめ。
・比較に==をジャンジャン使いましょう。型の比較、特に""とnullの比較なんて気にしてはいけません
・エイリアスの使用を広めてあげましょう。自分が好きな関数名で書くのがいいですよ!
・非推奨関数なんて気にせず使いましょう。皆が使えば怖くない!
・XAMPPを積極的に導入しましょう!開発環境に時間を費やしてはいけません。本番と同じものを用意するのはドMがやる作業です。
0600nobodyさん
2012/03/13(火) 12:05:16.21ID:???0601nobodyさん
2012/03/13(火) 12:07:08.63ID:???0602nobodyさん
2012/03/13(火) 12:44:20.12ID:???0603nobodyさん
2012/03/13(火) 12:58:23.04ID:???0604nobodyさん
2012/03/13(火) 12:59:03.22ID:???0605nobodyさん
2012/03/13(火) 13:09:30.91ID:???こう書いちゃう人いそうだな!
0606nobodyさん
2012/03/13(火) 13:11:07.15ID:???時にはcurl使ってるけど、ただ単に公開のhtmlとか取ってくる時は
file_get_contents使ってるわ。
0607nobodyさん
2012/03/13(火) 13:35:22.69ID:???0608nobodyさん
2012/03/13(火) 13:38:34.99ID:???パフォーマンスなら別言語をどうぞ。
0609nobodyさん
2012/03/13(火) 13:54:00.73ID:???みたいなのは、ほとんどただの自己満足に近い差しかないけどさ、
URLからの読込みのような部分は、大きな意味があるよ。遅いんだからさ。
0610nobodyさん
2012/03/13(火) 14:12:03.48ID:lpLFUoKUcmd.exe /k C:\php\php.exe "C:\phpファイル.php"
この状態で、コマンドプロンプトからテキスト入力を受け取るにはどうしたらよいのでしょうか。
"C:\phpファイル.php"のコードを実行させつつ、キーボードから入力された値をscanf的な関数で取得させたいので
php -aで使える対話シェルはちょっと違います。
0612nobodyさん
2012/03/13(火) 14:30:50.20ID:???0613498=523=525
2012/03/13(火) 15:24:54.81ID:mq2kKsmo>剰余の計算で===とかw
どのへんが面白いんですか。
>>551
>いくつかの突っ込みどころの中でそれを選んだ>>550はすごいな
ほかにどんな突っ込みどころがあります?
>>554
>===ではなくて ==と書きたいこともあるだろう?
ないですねぇ。
「==」って書いたら、後で見直した時に
何か理由があるのか単なる書き間違いなのか、考えなくてはいけないので面倒です。
同じ理由で、変数等の展開が不要な文字列のクォーテーションは必ずシングルで、
必要な場合だけダブルを使っています。
読みにくいので、文字列の中に変数を入れること自体あまりせずに sprintf を
使うことが多いですけどね。
0614498=523=525
2012/03/13(火) 15:28:36.89ID:mq2kKsmo>phpでパフォーマンスうんぬんはナンセンス。
ですよね。
十分速いし、遅い原因は大抵、DBや外部要因やPHPとは関係のないプログラミング技術の問題ですから。
まぁ、大きなフレームワークはキャッシュを使わないと結構遅いですが。。
0616498=523=525
2012/03/13(火) 15:35:11.51ID:mq2kKsmo== 「===」の存在(またはデメリット)を知らない人向け、または「=」1文字を入力する時間を惜しむ超絶緊急事態
=== 上記以外の人向け
0618nobodyさん
2012/03/13(火) 15:36:43.78ID:AVn4z6l2生成できなかったときの事を考慮して
if(画象が存在していたら){
echo 画象;
}
という処理が妥当ですか?
他に何か良い方法はないでしょうか。
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
■ このスレッドは過去ログ倉庫に格納されています