From: [EMAIL PROTECTED]
Operating system: Linux
PHP version: 4.0.6
PHP Bug Type: Strings related
Bug description: str_replace used with serialize
Two lines like this:
$myarray[ 2 ] = str_replace( "'", "", $mystring );
$myserial = serialize( $myarray );
produce a serialized array in $myserial but it contains the wrong length or
sometimes the wrong value for the string I inserted. It sometimes deletes
the "'" and the following character, sometimes deletes just the "'" but has
the wrong length of the string encoded in the serialized variable.
An example of $myserial would be:
a:3:{i:0;s:2:"s1";i:1;s:2:"s2";i:2;s:5:"dont";}
Which encodes the wrong length for the final string.
It works correctly when I break it into three lines:
$mystring = str_replace( "'", "", $mystring );
$myarray[ 2 ] = $mystring;
$myserial = serialize( $myarray );
An example of $myserial would be:
a:3:{i:0;s:2:"s1";i:1;s:2:"s2";i:2;s:4:"dont";}
Which encodes the correct length for the final string.
This only appears to happen if there is a str_replace match in the string.
If there is no match for the str_replace function, the glitch doesn't seem
to appear. Thanks.
--
Edit bug report at: http://bugs.php.net/?id=14819&edit=1
--
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]