PHP 4.0 Bug #7668 Updated: Unexpected change in behavior of { within a string
| From: | jimw@php.net | Date: | Tue, 23 Jan 2001 02:44:49 +0000 |
| Subject: | PHP 4.0 Bug #7668 Updated: Unexpected change in behavior of { within a string | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-44784@lists.php.net to get a copy of this message | ||
ID: 7668
Updated by: jimw
Reported By: ray@dasyp.com
Old-Status: Analyzed
Status: Closed
Bug Type: Documentation problem
Assigned To:
Comments:
this has been added to the documentation.
Previous Comments:
---------------------------------------------------------------------------
[2000-11-06 22:03:36] jmoore@php.net
a note from Ignacio Vazquez-Abrams
-----------------------------------
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>
---------------------------------------------------------------------------
[2000-11-06 21:05:41] ray@dasyp.com
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.
---------------------------------------------------------------------------
Full Bug description available at: http://bugs.php.net/?id=7668