トップページphp
1001コメント308KB

【PHP】下らねぇ質問はここに書き込みやがれ 43

レス数が1000を超えています。これ以上書き込みはできません。
0001nobodyさん2007/04/01(日) 04:21:50ID:VGqlLhlD
まず読め→【PHP マニュアル】http://www.php.net/manual/ja/
PHPで最良の教本はこの公式マニュアル。市販の書籍は嘘が多いので鵜呑みにしない。
過去スレ、関連スレ、FAQなどは>>2-10辺り

◆前スレ
【PHP】下らねぇ質問はここに書き込みやがれ 41
http://pc11.2ch.net/test/read.cgi/php/1173163186/

◆質問する時の注意
・ 自分のIDを表示させること。(メール欄に何も記述しないこと。空白も入力しちゃダメ)
・ サーバーのOS(Linux、Windows他)、WebサーバーとPHPの種類やバージョン等を明記すること。
・ 己の行った操作、変更などを詳しく明記すること。
・ エラーメッセージはそのまま表記すること。「エラーが出ます」だけでは回答不可。
・ 質問者として、態度をわきまえること。
・ 事前に公式マニュアル、リファレンス本くらいはちゃんと目を通しておくこと。

◆質問後の注意
・偽者防止に必ずIDを表示させること。(メール欄に何も記述しない)
・2回目以降は最初に質問した際のレス番号を名前欄に入れること。
・解決しなくても回答をもらった場合はお礼を言うこと。
 (荒らし、煽りは除く。煽られたときも、無闇に反論せずスルーすること。)

◆回答者への注意
・誰にレスしているのか分からないと困るので、>>(アンカー)をつけて回答すること。

【その他諸注意】
・正規表現・PEAR・テンプレート(Smarty等)・フレームワークは各該当スレへ http://pc10.2ch.net/php/subback.html
・SQLについての質問はデータベース板(PCカテゴリ)の各スレで http://pc10.2ch.net/db/subback.html
0974nobodyさん2007/04/11(水) 23:39:07ID:???
正規表現で0〜100までと指定したい場合、どうすればいいでしょう?
これでは無理でした。
[0-100]
以下だとできるんですがスマートではないです。
100 | [1-9][0-9] | [1-9]
0975nobodyさん2007/04/11(水) 23:47:02ID:???
[0-9]{1,3}
0976nobodyさん2007/04/11(水) 23:50:28ID:???
>>973
ちなみにphp-5.2.1にて俺が取ったベンチだと
str_replaceが最速

ttp://www.uploda.org/uporg771139.gif.html
0977nobodyさん2007/04/11(水) 23:52:34ID:???
>>975
それだと101以上や0で始まる数字もマッチしちゃうんじゃないかな
てかintvalして普通に比較した方が
0978nobodyさん2007/04/11(水) 23:55:49ID:???
>>975
101〜999かかるんじゃない?
0979nobodyさん2007/04/12(木) 00:04:54ID:???
>>973
釣られておくけど、その記事のTIPSは
いくつかを除いて重箱の隅レベルのパフォーマンス改善だし
これを使えあれを使うな系はケースバイケースのものが多いし
正直あまり良くないと個人的には思う
初心者に誤った先入観を持たせるような気がする
0980nobodyさん2007/04/12(木) 00:07:58ID:???
>>976
うほっ!
原文読んだら、反対なのねん!
>str_replace is faster than preg_replace, but strtr is faster than str_replace by a factor of 4

>>979
俺も思う。だからテンプレに入れるべきじゃないと思うんだよね…。
0981nobodyさん2007/04/12(木) 00:12:30ID:???
初心者向けのこのスレのテンプレに入れるならこんな感じだよな。
「Q:処理が重いです A:コードを整理して無意味なコードやループを無くせ」
0982nobodyさん2007/04/12(木) 00:20:36ID:???
>>973
> 01. staticメソッドが使えるなら使おう。速度は4倍になる
そんなもんクラス設計によりけりだから
> 02. __get, __set, __autoload は使わない
使うと便利になるケースめちゃくちゃあるだろアフォかおまえは
> 03. require_once は重い
分かるけどコードキャッシュなりなんなりで解決すべきで
コーディングで対処するものではないのでは
> 04. include, requireで読み込むファイルはフルパスにしよう
これも誤解を招く書き方
> 05. スクリプト開始時のUNIXタイムを $_SERVER['REQUEST_TIME'] で取れる
ふんふん、それでそれで?
> 06. strncasecmp関数やstrpbrk関数を使えるケースはこれらを使い、正規表現は使わない
微妙
> 07. preg_replaceはstr_replaceより速い、しかし、strtrはpreg_replaceより4倍速い
これはまあベンチの話だし的は外してない
> 08. 引数を、単体か配列かで自動判別するようなコードは出来るだけ避ける
ケースバイケース
> 09. @ を使ったエラー制御はとても遅い。→ @fputs($fp, "?");
これは俺もあまりおすすめしない
> 10. $row['id'] は $row[id] より7倍速い
それnoticeちゃうんかと
> 11. PHPのエラーメッセージは重い( noticeとかwarningとか)
じゃあおまえはもうerror_reporting(0)でずっとコーディングしてろこのハゲ
> 12. for ($x=0; $x < count($array); $x) のように、forの中でcountを使うと毎回countが呼ばれるので使わない。
どっちでもいーよ死ね

こんな感じだろ?実際
0983nobodyさん2007/04/12(木) 00:23:33ID:???
>これはまあベンチの話だし的は外してない
>>980
0984nobodyさん2007/04/12(木) 00:24:28ID:???
>>981
「A:気にしない。気になるんだったら頑張れ」ぐらいでもよさそう。

俺は>>7(or >>973)要らないと思うよ。
0985nobodyさん2007/04/12(木) 00:26:44ID:???
>>983
TIPS的にどうかって意味合いでしか書いてねーし
実際ベンチの結果なんてしるかよw
鬼の首取った気で嬉しかったのか?ww
09869742007/04/12(木) 00:39:31ID:???
>>977さん
IPチェックしたいのでその方法はあまりきれいじゃないかなあと
'/^210\.121\.3\.([0-9]|[1-9][0-9]|1[0-9][0-9] |2[0-4][0-9]|25[0-5])$/'
こんな感じしか無理ですか?
0987nobodyさん2007/04/12(木) 00:42:37ID:???
もう、0≦χ≦100でいいじゃん
0988nobodyさん2007/04/12(木) 00:54:19ID:???
>>986
$ip = explode(".", $_SERVER["REMOTE_ADDR"]);
$chk_ip1 = sprintf("%d.%d.%d", $ip[0], $ip[1], $ip[2]);
if($chk_ip1 == "210.121.3" && ($ip[3] >= 0 && $ip[3] <= 100)){
echo "ok";
}
0989nobodyさん2007/04/12(木) 01:06:50ID:???
>>985
それを言ったら、最適化のTIPSであって
コードが読みやすくするTIPSではないから
>>982のいくつかは的外れだぞ
0990nobodyさん2007/04/12(木) 01:27:46ID:???
2ちゃんにのるようなテンプレって自演で作者がからんでるよね。
0991nobodyさん2007/04/12(木) 01:49:43ID:???
classの中で自身のクラス名はどうやって取るのでしょうか?
0992nobodyさん2007/04/12(木) 01:50:50ID:???
__CLASS__
0993nobodyさん2007/04/12(木) 01:53:03ID:???
ありがとう御座います、できました
0994nobodyさん2007/04/12(木) 02:11:26ID:???
プロファイリングして、時間のかかってる箇所の
上位2つくらいの処理を見直すだけでずいぶん速くなることはよくある。
パフォーマンス最適化のTIPSなんてバカらしくなる。
0995nobodyさん2007/04/12(木) 02:38:09ID:???
>>994
そのためにも普段は見通しの良いコードを書くことを心がけるべきで、
パフォーマンス最適化TIPSみたいな小手先のテクニックを使って
コードが読みづらくなるのであれば、そのような愚は避けるべきだ。
そういうTIPSは最適化の時に考慮してやればいいだけの話だ。
0996nobodyさん2007/04/12(木) 05:28:35ID:???
>>706
SHA1って非可逆なの?cryptよりもいいの?
0997nobodyさん2007/04/12(木) 05:51:21ID:???
>>982
せっかくのテンプレ案なんだから、否定するだけじゃなくて改良しようとかポジティブなほうにそのパワーを使えばいいのに・・
0998nobodyさん2007/04/12(木) 06:57:36ID:???
改変してスレ立てsればおk
0999nobodyさん2007/04/12(木) 08:09:41ID:???
999ならPHP6がニューリリース
1000nobodyさん2007/04/12(木) 08:10:12ID:???
1000なら皆エラー
10011001Over 1000Thread
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。