トップページ > プログラム > 2015年10月23日 > pBHgjBfA

書き込み順位&時間帯一覧

24 位/159 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000001001000000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
【PHP】下らねぇ質問はここに書き込みやがれ 2©2ch.net

書き込みレス一覧

【PHP】下らねぇ質問はここに書き込みやがれ 2©2ch.net
861 :デフォルトの名無しさん[sage]:2015/10/23(金) 12:53:16.53 ID:pBHgjBfA
ちょっと前にphpの無名関数の話が出てたけど

useで持ってこれる親の変数はあくまで無名関数が定義されたときの変数の中身で
そんで親の変数に対しての参照を持ってるわけじゃないから
例えば $counter=0; $func = function()use($counter){ ... ++$counter; ... }; とかしても
func();で呼ばれたときに$counterはfunc()内では常に0で始まり、
親側の$counterもfunc()によって増減しないしfunc()定義後に親の$counterが動いてもfunc()内では常に0で始まる

親の変数を持ってくるだけならいいけど、親と共有したいなら静的変数やグローバルを使うかcallbackと無名関数を使わないでwhileで直接まわしたりする
こういう挙動は、こういうものなの?、それともphpのコンパイラの都合?
【PHP】下らねぇ質問はここに書き込みやがれ 2©2ch.net
863 :デフォルトの名無しさん[sage]:2015/10/23(金) 15:25:14.49 ID:pBHgjBfA
>>862
悪い参照渡し頭からすっぽ抜けてた


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。