|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-05-10 18:23 UTC] 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
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Oct 28 02:00:01 2025 UTC |
On the server where you encounter the problem, run this script and paste the output here: <?php echo phpversion() . "\n"; foreach(array("\x00D" => 1) as $k => $v) { echo bin2hex($k); }; echo "done\n"; ?>