Bug #76568 [Com]: For loop does not through error when Left bracket does not follow right paren
| From: | spam2 at rhsoft dot net | Date: | Sat, 07 Jul 2018 10:21:39 +0000 |
| Subject: | Bug #76568 [Com]: For loop does not through error when Left bracket does not follow right paren | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-216197@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=76568&edit=1
ID: 76568
Comment by: spam2 at rhsoft dot net
Reported by: andrew dot marek at sbcglobal dot net
Summary: For loop does not through error when Left bracket
does not follow right paren
Status: Not a bug
Type: Bug
Package: Scripting Engine problem
Operating System: CENTOS 6.4
PHP Version: 5.6.36
Block user comment: N
Private report: N
New Comment:
> Actually the code you claim is syntactically identical
> to mine is not - you misplaced the For loop's opening
> left brace which should appear to the left of $ib12
nonsense, he re-formatted the code how it's syntactically execued
please learn some basics, whitespaces don't matter at all in php
frankly you can remove ALL linebreaks and the syntax is the same
this is the first line no matter what you claim:
for($ib = 0; $ib < $ncountp; $ib = $ib + 14) $ib1 = $ib + 1;
Previous Comments:
------------------------------------------------------------------------
[2018-07-07 05:47:46] andrew dot marek at sbcglobal dot net
Response to a at b dot c dot de. Actually the code you claim is syntactically identical to mine is
not - you misplaced the For loop's opening left brace which should appear to the left of $ib12
= $ib + 12; Otherwise you describe the issue perfectly, it appears to be legitimate code BUT it is
not according to PHP reference manuals. The PHP on-line manual does not indicate that the statement
after the For loops three expressions needs to be enclosed in braces but all the examples below it
do and so do the reference manuals. Point is that my code was written incorrectly for what it was
intended to do (if it were correct we wouldn't be having this conversation) because the opening
For loop Brace which I placed to the left of $ib12 = $ib + 12; should have been placed to the left
of $ib1 = $ib1 + 1; therefore the For loop syntax checker should have asked where the opening brace
is (it did not do that). Now high level languages are supposedly supposed to address such issues to
prom!
ote "ease of use", I leave that to PHP's developers.
------------------------------------------------------------------------
[2018-07-06 12:16:02] a at b dot c dot de
It's not PHP's fault that your badly-formatted code means you misunderstand what you
wrote. spam2 has already pointed out that there is a syntax error in the code you posted (the
continue is not inside a loop). If the code you posted came from inside another loop then even that
isn't an error.
What you wrote is syntactically identical to
for($ib = 0; $ib < $ncountp; $ib = $ib + 14)
$ib1 = $ib + 1;
$ib2 = $ib + 2;
$ib3 = $ib + 3;
$ib4 = $ib + 4;
$ib5 = $ib + 5;
$ib6 = $ib + 6;
$ib7 = $ib + 7;
$ib8 = $ib + 8;
$ib9 = $ib + 9;
$ib10 = $ib + 10;
$ib11 = $ib + 11;
$ib12 = $ib + 12;
$ib13 = $ib + 13;
if(isset($ivcarrp[$ib13]))
{
if($ivcarrp[$ib13] == "XX")
{
$bypasscnt++;
continue;
}
}
Which is perfectly legitimate syntax.
------------------------------------------------------------------------
[2018-07-05 20:14:34] andrew dot marek at sbcglobal dot net
This is a syntax issue not an indentation issue. If you execute a php statement, say an echo
statement and leave of the ending ";" you will get an error like Warning expecting
";" but got ")" so php does do syntax checking. If you are a php person and care
about others using this language then this type of check will help others. Personally I don't
care, I'm an experienced coder in many languages and come across this stuff all the time.
------------------------------------------------------------------------
[2018-07-03 03:39:05] requinix@php.net
We aren't Python. Indentation is not syntax. If you write valid syntax that doesn't do
what you want, that's on you.
------------------------------------------------------------------------
[2018-07-02 23:53:36] spam2 at rhsoft dot net
and without the continue nobody knows why it is there nothing but an undefined var
[harry@srv-rhsoft:/downloads]$ php test.php
Notice: Undefined variable: ncountp in /mnt/data/downloads/test.php on line 2
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=76568
--
Edit this bug report at https://bugs.php.net/bug.php?id=76568&edit=1