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

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

25 位/148 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000010000100000000002



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

書き込みレス一覧

【PHP】下らねぇ質問はここに書き込みやがれ 2©2ch.net
824 :デフォルトの名無しさん[sage]:2015/10/13(火) 08:34:08.54 ID:IKf0MrqG
スコープがどこであれ名あり関数定義は少ないほうがいい

普通の関数・クラスと違ってuseが使えるからcallback関数で使うのに便利
preg_replace_callbackの第二引数とかには、普通の関数じゃ自動で渡される$match以外は、値を引き渡せない
だから定数、global、singletonを使わざるを得ないように見えるけど無名関数ならいける
【PHP】下らねぇ質問はここに書き込みやがれ 2©2ch.net
832 :デフォルトの名無しさん[sage]:2015/10/13(火) 13:32:15.97 ID:IKf0MrqG
そりゃ関数引っ張ってくるたび、その時useで引き渡した変数を保持してくれるけど
状態を持つインスタンスかインスタンスのような何かが欲しいだけだったら
単にcounterクラスを作って適宜newして作ってくれ、複数欲しけりゃ複数newしてくれ、初期化したかったら->init()作ったから使ってくれ、でもいいわけさ

だから>>823はいろいろ見た結果、classがありゃ別に良くね?と思ったんだろうと考えた
他の言語ともそうだけどjavascriptのクロージャとphpのクロージャとは違うし
となるとあとはクロージャの元々の「親のスコープの変数を(呼び出し時に引数で渡されなくても)持ってこれる」点かなと
なんかヘンだろうか

>>829
どうでもいいけどmb_ereg_replaceって非推奨なってないんじゃね?POSIXなeregと違ってバイナリセーフだから


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