元スレ【PHP】下らねぇ質問はID出して書き込みやがれ 83
php覧 / PC版 /みんなの評価 : ○
201 = :
>>199
マニュアルを読む限り、foreach が式をループ回数だけ評価するようには読めないんだけど。
っていうか、foreachが式が関数の場合に、関数は評価するが、その引数は評価しないとか、ありえんと思うが。
http://jp.php.net/manual/ja/control-structures.foreach.php
202 = :
さてベンチマークの俺の出番ですね
203 = :
>>202
お願いします。勇者!
204 = :
// テスト用変数
function testAry() {for($a=0;$a<1000;$a++) $h[]=$i;return $h;}
// タイム測定
function bench() {return microtime(true);}
// ベンチマーク表示
function cale($time) {
echo "<pre>";print_r($time);echo "</pre>";
foreach($time as $t) {echo "<p>".($t[1]-$t[0])."</p>";}
}
// --------- 比較コード ---------------- */
$time[0][0]=bench();
$test = array();
$h = array_slice(testAry(), 50);
foreach ($h as $v) $test[]=$v;
$time[0][1]=bench();
// ---------- 175のコード ------------- */
$time[1][0]=bench();
$test = array();
foreach (array_slice(testAry(), 50) as $v) $test[]=$v;
$time[1][1]=bench();
/* ---------- ここまで ---------------- */
cale($time);
205 = :
続き
テストした結果どちらもたいして変わらない
206 = :
結論からいえばforの中で関数は使うなってこと
207 = :
>>206
頭大丈夫か?
208 = :
>>207=>>175
ベンチマークみて行ってんならおまえ致傷だな
209 = :
メールを受け取ったらphpファイルを起動させようとしているのですが上手くいきません。
昨日から詰まってます。。。。助けてください。
.forwardのパーミッションは600。メールの転送ができることは確認済みです。
PHP 5.0.4 FedoraCore
.forwardの中身
"| /usr/bin/php -q /var/www/html/test2.php"
test2.phpは単体で動かせることは確認済みです。
メールを受け取った後、test2.phpが動いてる様子がありません。。。
210 = :
>>207ってID出さないスレで正規表現でたたかれてた人物じゃない?
これ以上触れるとこのスレ荒らされるぞw
211 = :
>>209
test2.phpに#!/usr/bin/phpみたいなパスは書いてあるよな?
212 = :
これでダメならまたおいで
.forwardの中身
"| /usr/bin/php /var/www/html/test2.php"
test2.phpの中身の一行目(パスは自分の環境にあわせてね)
#!/usr/bin/php -q
214 = :
>>210
お前が荒らしてるんだよ頭大丈夫か?
215 = :
わざわざ配列のカウントを変数に入れたりしないから
PHPだけの糞仕様を広めないでください
まともな言語なら差は出ません
216 = :
>>210
貴様のせいでこのスレに正規表現クンが来たじゃないかww
責任とって>>175を始末しろよw
218 = :
俺はーラッパーwwwwwwwwww
バイトはスーパーwwwwwwwwwwwww
タッパに葉っぱwwwwwwwwwwwwwwww
詰め込む河童wwwwwwwwwwww
頭はテンパーwwwwwwwwwwww
パッパカパーwwwwwwwwwwwwwwwwww
219 = :
>>215
>まともな言語なら差は出ません
( ゚Д゚)ポカーン
220 = :
まともな言語というかコンパイラ言語なら差はでないだろうな。
JAVAやC#なんかからきたやつはforの中でlength書いてるだろうし、
PHPでも別にcountを中に書いてもいいよ。
速度ってもミリ秒の誤差程度だし別に気にする必要もない。
221 = :
>>211
入れてませんでした。
だけれど試して見ましたがダメでした。
>>212
変化ありませんでした。
パーミは705でやってます。
あまりにも解けなさすぎて吐き気が。。。
223 = :
>>221
まず、パイプ前なのか、パイプ後なのか切り分けろや
とりあえず、シェルスクリプトならうごくかどうかやってみ。
touch hoge とかでいいから
224 = :
>>221
"| /var/www/html/test2.php"
これでよしっと
225 = :
>>223
メールうけとったあとのシェルの動かし方がわからん。
shhogeというファイルを作ってtouch hogeを書き込む。
sh shhogeで空ファイルが書き込めることを確認してから
パーミを705に変更。
.forwardの中身を"| /var/www/html/shhoge" や
"| /var/www/html/sh shhoge"にしてみて、メールを受け取ってみたが
だめだった。
>>224
それは最初にやったお。
test2.phpに#!/usr/bin/phpつけてやってもだめだったお。
226 = :
一回再起動してもちつけ
227 = :
.forwardには来てるの?
228 = :
>>226
何か変えるごとにメール鯖を再起動してるお。
>>227
メールの転送はできてるお。
229 = :
PHPとは関係ない気がするが、メールサーバのローカル配送ログは確認した?
231 = :
>>229
ごめんなさいお。疲れたのでたったいまVMwareを落としたとこだお。
夜風を浴びて飯食べたら、また来るお。
メールサーバのローカル配送ログは観方が判らなかったので
スルーしてたお。あとで確認するお。
232 = :
とりあえずその言葉使いはやめような
233 = :
質問させてください。
レンタルサーバでcronを使って、2chを定期的に監視するプログラムを作ろうと思うのですが、
公開されているプログラムなどありませんでしょうか?
スレ違いならすみません。
234 = :
キミが監視しなくてもすでに他の人が監視してるから大丈夫
235 = :
>>233
監視って具体的になにをするのね
236 = :
>>235
とりあえず自分のブログに盛り上がっているスレのリンクと、
先頭数レスの表示をしようと思ってます。
237 = :
>>236
専ブラ作るために公開されてる仕様があるのでそれ嫁ができます
238 = 162 :
>>162 はやっぱりないですかね。
>>164
多分、質問の意味を理解されてません。
240 = :
>>239
flockとどういう関係が?
241 = :
一時的に利用するためのファイルの名前にこだわる理由がわからない
242 = :
>>238
まず、自分がどうやってるか書いたら?
良い方法は?って言われてもな。
一意な名前を取得する方法なんて腐るほどあるっしょ。
インデックスを保持するファイルを一つ作っといて、そこで一意を確保してからrenameするとか
すきなアルゴリズムにしたらいいよ
243 = :
>>233
http://akid.s17.xrea.com/
http://www9.atpages.jp/~perfume2ch/wiki/
244 = :
連番でいいよもう
245 = :
forの中で関数呼び出しはPHPに限らず大抵の言語でもパフォーマンスが落ちる。
コンパイラや実行環境が最適化してくれる場合もあるし、大した差がつかないのは事実だけどな。
初心者がやってたら理解していない可能性を考えて訂正するのは正しい姿勢だと思うが。
>194-196, >204
ベンチマーク取るにしては処理が短すぎる。
そのくらいだとPC内のほかのタスクとかがノイズになって意味のある数字が出ない。
1秒とか10秒とかの単位で時間がかかるような規模の試験をした方がいい。
246 = :
批判する前に自分もコードを出したらいいじゃん
247 = :
ログを見ても原因らしい原因が判りません。。。。
.forward
"| /usr/bin/php /var/www/html/test2.php"
test2.php
#!/usr/bin/php -q
<?php
print "START";
system("touch hoge");
echo "end";
?>
maillog
postfix/smtpd[3703]: connect from atg-asm1.t-com.ne.jp[218.219.54.53]
postfix/smtpd[3703]: 2895E5DC486: client=atg-asm1.t-com.ne.jp[218.219.54.53]
postfix/cleanup[3707]: 2895E5DC486: message-id=<004a01c9b9de$15f7cf10$0701a8c0@XXXXXX551ed45>
postfix/qmgr[3669]: 2895E5DC486: from=<AAAAAAAAA@tba.t-com.ne.jp>, size=1594, nrcpt=1 (queue active)
postfix/smtpd[3703]: disconnect from atg-asm1.t-com.ne.jp[218.219.54.53]
postfix/local[3708]: 2895E5DC486: to=<YYYYYYYYYY@ZZZZZZZZ.homeip.net>, relay=local, delay=0, status=sent (delivered to command: /usr/bin/php /var/www/html/test2.php)
postfix/qmgr[3669]: 2895E5DC486: removed
248 = :
パフォーマンス云々よりも
count()っていうのはループ中に値が変わる可能性があるわけで
バグによってループする回数が変わってしまう危険性
っていうほうが避ける理由じゃないかな。。
249 = :
あと、上のほうにあったJavaScriptの話で
arr.lengthとfor(x in arr )を同じつもりで使うのは危ないよ。
例えばDOM使うと、forだと思ったとおりにならないときがあると思う。
みんなの評価 : ○
類似してるかもしれないスレッド
- 【PHP】下らねぇ質問はID出して書き込みやがれ 80 (1001) - [98%] - 2009/2/18 6:30 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 84 (1001) - [98%] - 2009/6/15 21:04 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 81 (1001) - [98%] - 2009/3/7 14:17 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 82 (1001) - [98%] - 2009/4/6 19:33
- 【PHP】下らねぇ質問はID出して書き込みやがれ 93 (1001) - [98%] - 2010/3/16 4:25
- 【PHP】下らねぇ質問はID出して書き込みやがれ 85 (1001) - [98%] - 2009/7/31 4:07 ○
- 【PHP】下らねぇ質問はID出して書き込みやがれ 87 (1001) - [98%] - 2009/9/15 18:32
- 【PHP】下らねぇ質問はID出して書き込みやがれ 86 (579) - [98%] - 2009/8/19 4:44
- 【PHP】下らねぇ質問はID出して書き込みやがれ 88 (1001) - [98%] - 2009/10/12 1:52
- 【PHP】下らねぇ質問はID出して書き込みやがれ 89 (1001) - [98%] - 2009/11/13 23:03
- 【PHP】下らねぇ質問はID出して書き込みやがれ 133 (1001) - [96%] - 2014/7/8 16:30
- 【PHP】下らねぇ質問はID出して書き込みやがれ 134 (1002) - [96%] - 2014/7/29 4:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 135 (984) - [96%] - 2014/8/7 1:00
- 【PHP】下らねぇ質問はID出して書き込みやがれ 139 (994) - [96%] - 2015/7/25 21:15
- 【PHP】下らねぇ質問はID出して書き込みやがれ 136 (936) - [96%] - 2014/9/18 12:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 130 (1001) - [96%] - 2013/11/11 2:45
- 【PHP】下らねぇ質問はID出して書き込みやがれ 137 (995) - [96%] - 2023/1/30 18:45
トップメニューへ / →のくす牧場書庫について