ID: 28351
User updated by: risearch at risearch dot org
Reported By: risearch at risearch dot org
-Status: Feedback
+Status: Open
Bug Type: Arrays related
Operating System: FreeBSD
PHP Version: Irrelevant
New Comment:
The bug is in arrays. When you iterate through whole array some of the
keys (which has "\x00" as first character) returned by
foreach ($arr as $k => $v)
are incorrect. Empty string is returned in $k.
Previous Comments:
------------------------------------------------------------------------
[2004-05-10 18:29:57] [EMAIL PROTECTED]
What exactly is the bug?
In the arrays or in the contents of the file?
How are you testing it?
(you need to be more specific if you want someone else to be able to
reproduce it)
------------------------------------------------------------------------
[2004-05-10 18:23:25] risearch at risearch dot org
Description:
------------
I use PHP on WinXP and Linux box. Older versions had bug with array
keys starting wuth "\x00" character. Now there is no such bug on my
computers (WinXP/Apache/php-4.3.4-Win32 & php-4.3.6-Win32 or
Linux/Apache 1.3.29/PHP 4.3.4), but some of the script's users complain
that script works on Windows box but does not on server. So, I guess
that some of the versions still have this bug (like
MacOSX/Apache/PHP4.3.2 or BSD/Apache/PHP4.3.4, as reported by users).
Reproduce code:
---------------
$key = "\x00\x00";
$arr[$key] = 1;
$key = "\x00\x44";
$arr[$key] = 2;
$key = "\x44\x44";
$arr[$key] = 3;
$fp = fopen("test","wb");
foreach ($arr as $k => $v) {
fwrite($fp,"'$k' => $v\n");
}
Expected result:
----------------
'\x00\x00' => 1
'\x00D' => 2
'DD' => 3
/* instead of "\x00" zero-character should be written to file */
Actual result:
--------------
'' => 1
'' => 2
'DD' => 3
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=28351&edit=1