PHP 4.0 Bug #7668: Unexpected change in behavior of { within a string

From: Date: Mon, 06 Nov 2000 20:05:41 +0000
Subject: PHP 4.0 Bug #7668: Unexpected change in behavior of { within a string
Groups: php.dev 
Request: Send a blank email to php-dev+get-37298@lists.php.net to get a copy of this message
From: ray@dasyp.com Operating system: Win NT 4.0 SP6 PHP version: 4.0.3pl1 PHP Bug Type: Scripting Engine problem Bug description: Unexpected change in behavior of { within a string I had a script running fine under PHP 3.x and 4.0.0, but after upgrading to the latest version (4.04dev), I had some problems. Following is an example of the problem: <?php $string = "Test String"; echo "This is a {Test} {$string}"; ?> The code above when executed under an older version of the 4.x or 3.x series will produce the following output: This is a {Test} {Test String} but under 4.04dev it produces: This is a {Test} Test String note the the {} characters are missing around "Test String". This is causing a problem in an SQL statement. I have found that escaping the first { character will solve the problem, hence: <?php $string = "Test String"; echo "This is a {Test} \{$string}"; ?> will produce: This is a {Test} {Test String} Please note that only the initial { character needs to be escaped. This is my first bug report to PHP and have the suspicion that this isn't actually a bug and perhaps a mistake on my part. I know that the {} characters are used for delimiting code blocks, but I don't know what their significance would be in a string. The fact that PHP will expand variables within strings (like perl) adds a little to the puzzle. Since this behavior seems new to me I thought I would send it in just in case. -- Edit Bug report at: http://bugs.php.net/?id=7668&edit=1

« previous php.dev (#37298) next »