Re: Trying to understand what is happening in this code
| From: | Jose Nobile | Date: | Fri, 11 Oct 2013 15:37:48 +0000 |
| Subject: | Re: Trying to understand what is happening in this code | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-322277@lists.php.net to get a copy of this message | ||
Hi Nathan,
All content out of <?PHP ?> imagine like echo "..."
<?PHP
your php code ..
?>your html
html
html
html
<?PHP
your php code
?>
imagine as:
<?PHP
your php code ..
echo "your html
html
html
html";
your php code
?>
I post a answer in Stackoverlow :-)
Saludos,
José Nobile
On Fri, Oct 11, 2013 at 10:20 AM, Nathan Grey <greynng@gmail.com> wrote:
> Stuart, Jose - Thanks for your quick response. Are you saying that the
> processor echos all the html tags it sees. Is it doing something like this
> to the script:
>
> echo <body>
> echo <h1>The first twenty Fibonacci numbers:</h1>
> echo <ul>
> <?php
> $first = 0;
> $second = 1;
> for ($i = 0; $i < 20; $i++) {
> ?>
> echo <li><?php echo $first + $second ?></li>
> <?php
> $temp = $first + $second;
> $first = $second;
> $second = $temp;
>
> } ?>
> echo </ul>
> echo </body>
>
> Or is it just the line in question that is being echoed?
>
>
> -----------------------------
> Nathan Grey
> 404-337-9005
>
>
> On Fri, Oct 11, 2013 at 11:06 AM, Stuart Dallas <stuart@3ft9.com> wrote:
>
> > On 11 Oct 2013, at 16:01, Nathan Grey <greynng@gmail.com> wrote:
> >
> > > Hi - I am new to PHP so this is probably a very rudimentary question. I
> > > posed it over at Stack Overflow and got several responses but none of
> > them
> > > clarified the issue for me.
> > >
> > >
> >
>
> http://stackoverflow.com/questions/19309369/trying-to-understand-how-these-php-sections-work-together
> > >
> > > Here's the code I am trying to understand:
> > >
> > > <body>
> > > <h1>The first twenty Fibonacci numbers:</h1>
> > > <ul>
> > > <?php
> > > $first = 0;
> > > $second = 1;
> > > for ($i = 0; $i < 20; $i++) {
> > > ?>
> > > <li><?php echo $first + $second ?></li>
> > > <?php
> > > $temp = $first + $second;
> > > $first = $second;
> > > $second = $temp;
> > >
> > > } ?>
> > > </ul></body>
> > >
> > > This code produces an unordered list of the first 20 Fibonacci
> numbers. I
> > > understand that HTML and PHP can be interspersed. I also understand
> that
> > > the PHP processor will look over the code and pick up the code that is
> > > between the opening and closing PHP tags. Here's where I am confused:
> > >
> > > 1. Can the processor really reassemble a for-loop that is broken into
> > > segments by opening and closing tags? It seems like the integrity of
> the
> > > loop would be broken. I would expect that the entire loop would have to
> > be
> > > contained within a single pair of opening and closing tags for it to
> > work.
> > >
> > > 2. Even if the processor is able to reassemble the loop seamlessly, how
> > do
> > > the <li> tags get included in the loop since they fall outside of the
> PHP
> > > tags?
> >
> > Probably the easiest way to understand what's happening is to assume that
> > PHP converts anything in the file that's outside PHP tags in to echo
> > statements, and then executes the result. This isn't too far from what
> > actually happens.
> >
> > PHP compiles any script in to bytecodes, which it then executes. Anything
> > outside PHP tags does, essentially, get passed in to the echo language
> > construct.
> >
> > Does that help at all?
> >
> > -Stuart
> >
> > --
> > Stuart Dallas
> > 3ft9 Ltd
> > http://3ft9.com/
> >
>