#18680 [Opn]: Logical OR fails after value passes through session

From: Date: Wed, 31 Jul 2002 19:03:38 +0000
Subject: #18680 [Opn]: Logical OR fails after value passes through session
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-15708@lists.php.net to get a copy of this message
ID: 18680 User updated by: su-php@bossi.com Reported By: su-php@bossi.com Status: Open Bug Type: *Programming Data Structures Operating System: Win2K PHP Version: 4.1.2 New Comment: I stated that strval() does not work. However a kludge that DOES work is: echo "Val : ".((0 + $opt['time']) | (0 + $opt['date'])); Previous Comments: ------------------------------------------------------------------------ [2002-07-31 14:53:07] su-php@bossi.com PHP version 4.1.1 (Hey it's an internal test bed, no outside connection) I am saving user options in an array. The array is then saved to the session. the basic variables are: $TIME_FORMAT_12 = 0x01; $TIME_FORMAT_24 = 0x02; $DATE_FORMAT_YMD = 0x04; $DATE_FORMAT_MDY = 0x08; $DATE_FORMAT_DMY = 0x10; $opt['time'] = $TIME_FORMAT_24; $opt['date'] = $DATE_FORMAT_DMY; At this point, the array holds numeric values. Now $opt[] is saved to the session. When it is read back in, I believe the two values are no longer numeric. If you OR the base values: echo "Val: ".($TIME_FORMAT_24 | $DATE_FORMAT_DMY); echo "Val: ".($opt['time'] | $opt['date'); you get 18 or 0x12. However if you OR the $opt values _after_ they have been retrieved from the session: echo "Val: ".($opt['time'] | $opt['date'); you get 36. I have tried (strval($opt['time']) | strval($opt['date'))) but it still fails. I am using the composite value to perform a logical AND to obtain the settings: if ( $format_in & $DATE_FORMAT_DMY ) within a function. ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=18680&edit=1

« previous php.bugs (#15708) next »