Bug #12826 Updated: session_unregister() array_walk() immune? :)
| From: | mfischer@php.net | Date: | Sat, 18 Aug 2001 16:37:59 +0000 |
| Subject: | Bug #12826 Updated: session_unregister() array_walk() immune? :) | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-63600@lists.php.net to get a copy of this message | ||
ID: 12826
Updated by: mfischer
Reported By: joustin@plusnet.pl
Status: Bogus
Bug Type: Session related
Operating System: Win2000 SP2
PHP Version: 4.0.6
New Comment:
If you want to stick to a one-liner, you can use
array_walk($foo,create_function('$e','session_unregister($i);'));
- Markus
Previous Comments:
------------------------------------------------------------------------
[2001-08-18 12:15:34] sniper@php.net
RTFM: http://www.php.net/manual/en/function.array-walk.php
"func must be a user-defined function, and can't be a native
PHP function. Thus, you can't use array_walk() straight with
str2lower(), you must build a user-defined function with it
first, and pass this function as argument."
--Jani
------------------------------------------------------------------------
[2001-08-18 12:03:51] joustin@plusnet.pl
Check this out!
I thought array_walk would be a good workaround for the session_unregister limitation of 'one
variable unregistering at a time'.
<? session_start();
$one = 1;
$two = 2;
session_register('one','two');
$foo = array('one','two');
@array_walk($foo,'session_unregister');
if(session_is_registered('one') || session_is_registered('two')){
echo 'why?';
}
?>
Well.. there is even a workaround for this workaround, but when you look at it, it makes you smile
ironically :)
<? function damn_unregister($what){
session_unregister($what);
}
@array_walk($foo,'damn_unregister');
if(!session_is_registered('one') && !session_is_registered('two')){
echo 'now ok';
}
?>
What am I missing here ?
------------------------------------------------------------------------
Edit this bug report at http://bugs.php.net/?id=12826&edit=1