#47053 [Opn->Fbk]: empty($FRED) returns false incorrectly
| From: | felipe@php.net | Date: | Sat, 10 Jan 2009 19:48:38 +0000 |
| Subject: | #47053 [Opn->Fbk]: empty($FRED) returns false incorrectly | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-132725@lists.php.net to get a copy of this message | ||
ID: 47053
Updated by: felipe@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