Quote:
FutureSpy wrote:
変数($_SESSIONなど)全てを削除したいんです。
全部とか、あるpatternが合っている変数を削除方法はありませんか。マニュアルでunset()が使えるんですが、やっぱりもっと簡単な仕方はないでしょうか。
ずいぶんと無茶な希望ですね
どういう目的で削除したいのかによりますよ。
PHPのメモリ上から消したい、ということなら、ガーベジコレクションのタイミングをコントロールする必要があるでしょうし(PHPのビルドから手を入れなきゃ無理かな?)、単に、PHPから利用できなくしたいのであれば、やはりunset()でしょうね。
単純に、
unset($_SESSION)
とすれば、$_SESSIONは利用できなくなると思いますが。
GIJOEさん、返事してくれてありがとうございました。
(お聞き合わせモジュールからやっていたんですが、今はLiaiseからハックしています。まあ、どちらもDBから項目を取っているので、問題は同じなので、このスレで続けます)
そうですね。項目は$_SESSION['ele_x']です。(xはDBから取ったele_id)
問題なのは、xをどうやって見つかる。
このコードで試してみましたが、どちらも全然動作しません。
foreach($_POST['ele_'.$i] as $i){
unset($_SESSION['ele_'.$i]);
}
OR
foreach($_POST[$i] as $i){
unset($_SESSION[$i]);
}
DBから項目IDを全部取り込んで、そのままunsetを行いますっていう方法もありますが。
ええと、やりたいことがイマイチ理解できていないのですが、POSTされた項目はセッションからunset()すればいいんですよね?
だったらこんな感じでしょうか?
foreach( array_keys( $_POST ) as $key ) {
if( substr( $key , 0 , 4 ) == 'ele_' ) {
unset( $_SESSION[ $key ] ) ;
}
}