【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等)・フレームワークは各該当スレへ
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一緒に語ろう。
0719(498===523===525)===(498=523=525)
2012/03/14(水) 03:08:13.74ID:SRtAsTeP知ってるよ。
HipHop以前のfacebook使ったことある?
アクセス数は今ほどでは無かったにせよ、十分に大規模、かつ、十分に速かったよ。
0720nobodyさん
2012/03/14(水) 03:20:44.67ID:???0721nobodyさん
2012/03/14(水) 03:24:30.29ID:???nullだけに
0722nobodyさん
2012/03/14(水) 03:28:30.67ID:???なにげに関数呼び出しのオーバーヘッドが減ってたのかな。
0723(498===523===525)===(498=523=525)
2012/03/14(水) 03:28:39.65ID:SRtAsTeP1ページあたり、どれ位遅くなるの?
0725nobodyさん
2012/03/14(水) 07:53:14.19ID:rNta1GYaレスありがとうございます。
Excel開くとき出ました。
ファイル形式はExcel5?指定。Excel2003で開きたいのです。
PHPExcel使うのにZipの設定がいるみたいで
PHPの設定見るとZipオプションが付いてなかったので
オプション付けて再インストールしたらファイル破損の
メッセージが出なくなりました。
0726nobodyさん
2012/03/14(水) 08:16:57.12ID:CYW9Bweb'””のような空文字だったらfalse、'0'だったらtrueとやりたいのですが
if($hoge || $hog ==='0')
とやるしかないのでしょうか?
0728nobodyさん
2012/03/14(水) 08:24:00.21ID:CYW9Bwebnull→false
他の空の場合もtrueもfalseはどっちでも大丈夫です
issetだと空文字も0もtrueになってしまうので空文字と0の差をどうしたものかと
0730nobodyさん
2012/03/14(水) 08:33:11.47ID:???> '0'だったらtrueとやりたいのですが
考え方を変えるなら ”文字列に長さがあるならば” ってことかの?
0731(498===523===525)===(498=523=525)
2012/03/14(水) 08:34:46.36ID:SRtAsTePif($hoge === ''){
return false
}
else if($hoge === '0'){
return true
}
else{
// お好きなように
}
0732nobodyさん
2012/03/14(水) 08:45:50.74ID:???初めて知った
0733nobodyさん
2012/03/14(水) 08:54:36.31ID:???http://jp2.php.net/manual/ja/types.comparisons.php
0734nobodyさん
2012/03/14(水) 09:10:22.39ID:vFLnVtDq>>730のやり方だとうまくいったんでコレで試してみます
0736nobodyさん
2012/03/14(水) 10:07:07.87ID:???自分も計測してみた
VM ESXIの仮想環境
PHPバージョン:5.3.3
===が倍速い
100万回ループをそれぞれ5回計測して
=== COMP:0.12185192
is_null COMP:0.24702406
=== COMP:0.11307788
is_null COMP:0.24555087
=== COMP:0.11323190
is_null COMP:0.24664307
=== COMP:0.11317492
is_null COMP:0.24571705
=== COMP:0.11359096
is_null COMP:0.24549198
100万回で0.1秒差だからごく普通にスクリプト書いたら誤差で収まるんだろうね
ESXI全体として見た場合の負荷が3%弱ってのも驚いた
0737nobodyさん
2012/03/14(水) 10:13:04.39ID:???0738nobodyさん
2012/03/14(水) 10:22:36.27ID:???0739nobodyさん
2012/03/14(水) 11:03:17.04ID:???何が許されて、何が禁止されるのか分かりやすい表か
なんかないですか? できれば
GPL OSL MIT
hoge ◯ × ◯
hoge × × ◯
みたいになってるのがいいです。
0741nobodyさん
2012/03/14(水) 11:09:13.26ID:???0742nobodyさん
2012/03/14(水) 11:12:53.18ID:???それはどうかな?
中の人に聞かないとわからないよ
youtubeも初期のころはPHPでやってた気がするが
0743739
2012/03/14(水) 11:34:58.58ID:???0744nobodyさん
2012/03/14(水) 11:41:20.71ID:???共通した項目なんぞほとんどなくて、○×で済むようなもんじゃないし。
0745nobodyさん
2012/03/14(水) 11:53:14.55ID:???facebookはHiveをHadoopプロジェクトに寄贈したの知っている?
寄贈したのは2008年だからずいぶん前から基幹はPHPじゃないみたいよ。
0747nobodyさん
2012/03/14(水) 12:26:40.58ID:???0748739
2012/03/14(水) 12:27:23.18ID:???0749nobodyさん
2012/03/14(水) 12:31:24.49ID:???>>1読んでない奴への対処法が実践されてるだけじゃね?
なりすましされてまだ変わらんとは相当に低脳な質問者っぽいが。
0750nobodyさん
2012/03/14(水) 12:59:12.31ID:???0752nobodyさん
2012/03/14(水) 13:04:34.75ID:???http://toro.2ch.net/test/read.cgi/tech/1266247461/
俺ってやさしいね
0753(498===523===525)===(498=523=525)
2012/03/14(水) 13:28:41.72ID:suCVTKUmfacebookがPHPかどうかという流れで、HadoopとかHiveとか
データストアの話がでてくるのはなぜですか?
0756nobodyさん
2012/03/14(水) 14:46:36.21ID:???0757nobodyさん
2012/03/14(水) 15:02:52.82ID:MUSukvI8逆に不一致の確認では、 != を使う方が !== よりも正常値を限定できるように
思えるのですが、この考えは間違っていますか?
0758(498===523===525)===(498=523=525)
2012/03/14(水) 15:06:56.44ID:suCVTKUmそういう話だと、PHPで完結するものの方が少ないから、PHPが遅いという話は
意味がなくなりますね。
それこそ、MySQLの複数台構成とか、シャーディングとか、キャッシュサーバーとか、
そういうアプリとしてのアーキテクチャーの話になってくる。
まぁ実際、中規模以上のサイトで速い遅いというのは、その部分の話なわけで、
フロントエンド(PHPなど)の言語が速い遅いなんていうのはほとんど関係がない。
自分も中規模以上のサイトをある程度経験しているので、速い遅いという話だと
そういう観点しか無かったりします。
0759nobodyさん
2012/03/14(水) 15:12:41.19ID:???0761(498===523===525)===(498=523=525)
2012/03/14(水) 15:22:42.80ID:suCVTKUmそもそも、「緩い比較」が必要な「緩い値」となるコードが微妙です。
>>759
具体的にご指摘を!
0762nobodyさん
2012/03/14(水) 15:28:02.53ID:???0764(498===523===525)===(498=523=525)
2012/03/14(水) 15:33:16.45ID:suCVTKUm付けなくても動く。
付けて、その後に無駄なスペースがあると、ヘッダー出力やセッション開始で
問題になったりするから付けるな、という人達もいる。
僕はつけてる。
0766nobodyさん
2012/03/14(水) 15:49:06.84ID:???0767(498===523===525)===(498=523=525)
2012/03/14(水) 15:51:41.32ID:suCVTKUmその他は、
Oracle、SQL Server、MySQL
ネットワーク
FreeBSD 少し、Linux
IIS少し、Apache
とか。
0768nobodyさん
2012/03/14(水) 15:58:19.18ID:r+zK7voTその中にINSERTが可能な属性を持ったユーザはいましたか?
■ このスレッドは過去ログ倉庫に格納されています