Bug #11447 Updated: Switch statement sensible for white-space
| From: | sniper@php.net | Date: | Wed, 13 Jun 2001 14:18:56 +0000 |
| Subject: | Bug #11447 Updated: Switch statement sensible for white-space | ||
| Groups: | php.dev | ||
| Request: | Send a blank email to php-dev+get-56690@lists.php.net to get a copy of this message | ||
ID: 11447
Updated by: sniper
Reported By: per.persson@gnosjo.pp.se
Old-Status: Open
Status: Bogus
Bug Type: Scripting Engine problem
Operating system:
PHP Version: 4.0.4pl1
Assigned To:
Comments:
Use the {} instead of the : / endswitch;
ie.
<?php
switch ($value) {
case: ?>
<p>Alpha</p>
<?php
break;
}
?>
And anyway, using <? ?> too much is really not good idea.
This is just stupid: <? some code ?><? more code?><? code..?>
Previous Comments:
---------------------------------------------------------------------------
[2001-06-12 19:13:44] per.persson@gnosjo.pp.se
Section 7.4 in the FAQ is a little bit related.
Should perhaps the ending for a block of PHP-code be "?>" followed by any number of
white-space characters?
---------------------------------------------------------------------------
[2001-06-12 18:51:27] per.persson@gnosjo.pp.se
The following script gave a parse error:
<? switch($var): ?>
<? case "alpha": ?>
<p>Alpha</p>
<? break; ?>
<!-- ... -->
<? endswitch; ?>
Parse error: parse error, expecting
T_CASE' or T_DEFAULT' or
`'}'' in <my-path>/bug.php on line 2
First I thought that this was really a bug, but then, while typing this report I realized that
non-PHP-mode characters (like the two spaces) probably are converted to an "echo"
instruction, so the PHP-parser sees something like the following code:
switch($var):
echo ' ';
case "alpha":
echo '<p>Alpha</p>';
break;
endswitch;
The parser doesn't expect anything (but PHP-mode white-space) to come between the ':'
on line 1 and 'case' on line 3 and therefore reports parse error. Right?
For the sake of "pretty-scripting", I would like this to change, but at the same time, now
that I understand why the parser complains, I'm not sure if it should be changed...
---------------------------------------------------------------------------
ATTENTION! Do NOT reply to this email!
To reply, use the web interface found at http://bugs.php.net/?id=11447&edit=2