Bug #14819 Updated: str_replace used with serialize

From: Date: Thu, 03 Jan 2002 06:28:09 +0000
Subject: Bug #14819 Updated: str_replace used with serialize
References: 1  Groups: php.dev 
Request: Send a blank email to php-dev+get-75740@lists.php.net to get a copy of this message
ID: 14819 Updated by: georg Reported By: voltaic@thcnet.net Status: Open Bug Type: Strings related Operating System: Linux PHP Version: 4.0.6 New Comment: Just tested it with 4.0.6 and 4.1.0 All seems to be ok. Can you send me your configuration options? Previous Comments: ------------------------------------------------------------------------ [2002-01-02 23:49:09] voltaic@thcnet.net 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 this bug report at http://bugs.php.net/?id=14819&edit=1

« previous php.dev (#75740) next »