ID:               47053
 Updated by:       fel...@php.net
 Reported By:      mc at cowensw dot cxo dot uk
-Status:           Open
+Status:           Feedback
 Bug Type:         Scripting Engine problem
 Operating System: Linux
 PHP Version:      6CVS-2009-01-09 (CVS)
 New Comment:

Show us the var_dump()'s output to the variable that produces the wrong
empty() return.

Thanks.


Previous Comments:
------------------------------------------------------------------------

[2009-01-09 14:35:37] mc at cowensw dot cxo dot uk

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 this bug report at http://bugs.php.net/?id=47053&edit=1

Reply via email to