You are here: Re: WHILE loop problems « All PHP « IT news, forums, messages
Re: WHILE loop problems

Posted by Steve on 04/10/07 03:14

"Vince Morgan" <vinhar@REMOVEoptusnet.com.au> wrote in message
news:461ad85c$0$16553$afc38c87@news.optusnet.com.au...
| "Shooter" <SDshooter@hotmail.com> wrote in message
| news:46196360$0$5759$4c368faf@roadrunner.com...
| > I'm having trouble setting up a while loop, and I think I'm creating
| > overlapping brackets. I'm trying to set up a script to check for up to 3
| > images to display on a profile page, then put a notice at the bottom. My
| > initial efforts either get a blank page or the notice appearing a few
| > hundred times. Below is my original (working) script to display a single
| > image. After that is my attempts at adding a while loop. Is there a
better
| > way of doing this??
|
| > Trying to add a loop:
| >
| > //start imagename function
| > //begin new code
| > $imagenum=1;
| > while ($imagenum<4) {
| > //end new code
| > $imagename = "$lastname$firstname$imagenum";
| > $imagename = str_replace(" ", "","$imagename");
| > //end imagename function
| > //$filename = '../images/$imagename.jpg';
| > $image_info =
| > @getimagesize("http://www.mydomain.org/images/$imagename.jpg");
| > $type=$image_info[2];
| > if ($type == 0) {
| > // file_exists(realpath($filename)); {
| > print "&nbsp;";
| > } else {
| > print "<IMG SRC=\"../images/$imagename.jpg\"><BR>";
| > $imagenum = $imagenum++;
| > } // end while loop
| > print "<FONT color=\"#000000\" face=\"Arial, Helvetica, sans-serif\"
| > size=\"1\">
| > &copy; $firstname $lastname. All Rights Reserved.</FONT>";
| > }
| >
| Sorry to highjack the OP.
| I find the above very curious personaly.
| I could be wrong, but I thought "++" had a higher precedence than "=", in
| fact I'm very sure it does.

i believe it does.

| However, having said that, "$imagenum++" is a post-increment, which would
| suggest that although the "++" operator has higher precedence the
| incrementation should occure after the assignment.


no...i think the operation as a whole is considered before the = ... so, ++
would increment then the assignment would be made (lhs = rhs). afaicr. you
can further test this by ++$imagenum...the pre/post incrementor should have
NO impact on the final lhs result if this precedence processing is true.


| Although I have never used a construct such as $val = $val++, I would have
| thought that after the assignment, the next operation would have been the
| increment. If that were actualy true then I would expect the value to
have
| incremented by one before the next loop iteration regardless.
| A test shows it doesn't, so I'm wrong.
| Trying to actualy work out what is going on in the expression in question
| makes my brain hurt. It seems that the increment is being discarded
| altogether.
| Is this actualy an example of undefined behaviour?

no, however creating such shitty code is well defined, seen all over the
place in various forms and flavors, and the author should be shot. ;^)

 

Navigation:

[Reply to this message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация