From:             mc at cowensw dot cxo dot uk
Operating system: Linux
PHP version:      6CVS-2009-01-09 (CVS)
PHP Bug Type:     Scripting Engine problem
Bug description:  empty($FRED) returns false incorrectly

Description:
------------
Hosting moved to new version 8-1-2009.  Since then in certain situations
the empty() function now returns wrong value.  Argument holds space, but
function returns "not empty".

Tested all normal empty functions, and they are OK
(http://www.dev.holidaynetwork.co.uk/Test3.php)

In this case $purchaseToken is derived from a row in a Session Variable.

I have tried to reproduce this with smaller simpler scripts, but with no
success.





Reproduce code:
---------------
Sample extract from script:
echo '  purchaseToken7    >>'.$purchaseToken7.'<< <br>';
echo '  rhf    >>'.$rhf.'<< <br>';
echo '  $_SESSION["Sess_purchaseToken7"] array   >>';
print_r($_SESSION["Sess_purchaseToken7"]); echo '<< <br>';
echo '  $_SESSION["Sess_purchaseToken7"][$rhf] array  
>>'.$_SESSION["Sess_purchaseToken7"][$rhf].'<< <br>';
echo '  strlen(purchaseToken7)    >>'.strlen($purchaseToken7).'<< <br>';
echo '  bin2hex(purchaseToken7)    >>'.bin2hex($purchaseToken7).'<<
<br>';

if (!empty($purchaseToken7) ) echo "purchaseToken not empty<br>"; else
echo "purchaseToken  empty<br>" ;
if (empty($purchaseToken7) ) echo "purchaseToken empty<br>"; else echo
"purchaseToken not empty <br>";
$ShowDiag = 0;
exit()



Expected result:
----------------
Sample Output
Shows  variable purchaseToken is space,
However empty function returns "not empty"

purchaseToken7 >> << 
rhf >>9<< 
$_SESSION["Sess_purchaseToken7"] array >>Array ( [0] => 0 [1] => [2] =>
[3] => 0 [4] => 0 [5] => [6] => [7] => [8] => [9] => ) << 
$_SESSION["Sess_purchaseToken7"][$rhf] array >> << 
strlen(purchaseToken7) >>1<< 
bin2hex(purchaseToken7) >>20<< 
purchaseToken empty
purchaseToken empty 

Actual result:
--------------
Sample Output
Shows  variable purchaseToken is space,
However empty function returns "not empty"

purchaseToken7 >> << 
rhf >>9<< 
$_SESSION["Sess_purchaseToken7"] array >>Array ( [0] => 0 [1] => [2] =>
[3] => 0 [4] => 0 [5] => [6] => [7] => [8] => [9] => ) << 
$_SESSION["Sess_purchaseToken7"][$rhf] array >> << 
strlen(purchaseToken7) >>1<< 
bin2hex(purchaseToken7) >>20<< 
purchaseToken not empty
purchaseToken not empty 

-- 
Edit bug report at http://bugs.php.net/?id=47053&edit=1
-- 
Try a CVS snapshot (PHP 5.2):        
http://bugs.php.net/fix.php?id=47053&r=trysnapshot52
Try a CVS snapshot (PHP 5.3):        
http://bugs.php.net/fix.php?id=47053&r=trysnapshot53
Try a CVS snapshot (PHP 6.0):        
http://bugs.php.net/fix.php?id=47053&r=trysnapshot60
Fixed in CVS:                        
http://bugs.php.net/fix.php?id=47053&r=fixedcvs
Fixed in CVS and need be documented: 
http://bugs.php.net/fix.php?id=47053&r=needdocs
Fixed in release:                    
http://bugs.php.net/fix.php?id=47053&r=alreadyfixed
Need backtrace:                      
http://bugs.php.net/fix.php?id=47053&r=needtrace
Need Reproduce Script:               
http://bugs.php.net/fix.php?id=47053&r=needscript
Try newer version:                   
http://bugs.php.net/fix.php?id=47053&r=oldversion
Not developer issue:                 
http://bugs.php.net/fix.php?id=47053&r=support
Expected behavior:                   
http://bugs.php.net/fix.php?id=47053&r=notwrong
Not enough info:                     
http://bugs.php.net/fix.php?id=47053&r=notenoughinfo
Submitted twice:                     
http://bugs.php.net/fix.php?id=47053&r=submittedtwice
register_globals:                    
http://bugs.php.net/fix.php?id=47053&r=globals
PHP 4 support discontinued:          http://bugs.php.net/fix.php?id=47053&r=php4
Daylight Savings:                    http://bugs.php.net/fix.php?id=47053&r=dst
IIS Stability:                       
http://bugs.php.net/fix.php?id=47053&r=isapi
Install GNU Sed:                     
http://bugs.php.net/fix.php?id=47053&r=gnused
Floating point limitations:          
http://bugs.php.net/fix.php?id=47053&r=float
No Zend Extensions:                  
http://bugs.php.net/fix.php?id=47053&r=nozend
MySQL Configuration Error:           
http://bugs.php.net/fix.php?id=47053&r=mysqlcfg

Reply via email to