Re: PHP 4.0 Bug #7668: Unexpected change in behavior of { within a string
| From: | Ignacio Vazquez-Abrams | Date: | Mon, 06 Nov 2000 20:21:08 +0000 |
| Subject: | Re: PHP 4.0 Bug #7668: Unexpected change in behavior of { within a string | ||
| References: | 1 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-37299@lists.php.net to get a copy of this message | ||
On 6 Nov 2000 ray@dasyp.com wrote:
> 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.
>
See http://www.php.net/version4/incompatibilities.php,
item 5. Could
somebody please change this to a documentation problem, as there should
probably be a link from the documentation page?
--
Ignacio Vazquez-Abrams <ignacio@openservices.net>