RE: [PHP] Else/For loop
| From: | Roberts, Mark | Date: | Wed, 12 Jun 2002 13:57:26 +0000 |
| Subject: | RE: [PHP] Else/For loop | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-101733@lists.php.net to get a copy of this message | ||
Thanks to everyone who replied. Of course it should be '=='. I was too
focused on why the for was not working and overlooked the obvious.
Mark Roberts
Sr. Systems Analyst
LanApps/Web Development
The Williams Information Services Corporation
918-573-1706
mark.roberts@williams.com
-----Original Message-----
From: Christoph Starkmann [mailto:kiko@nfq.de]
Sent: Wednesday, June 12, 2002 8:27 AM
To: Roberts, Mark; 'php-general@lists.php.net'
Subject: RE: [PHP] Else/For loop
Hi Mark!
> Being relatively new to php, I discovered the following after
> about 2 hours
> of debugging last night and was wondering why???
>
> I had the following code:
>
> if ( $num_results = 0 )
> {
> echo "no records found";
> }
> else
> {
> for ($i=0; $i < $num_results; $i++)
> {
> display record set
> }
> }
>
> As a result, the for loop never executed, no matter how many
> records were
> returned in the record set. I placed echo statements though
> out to determine
> why the for loop was not being executed. I put an echo
> statement just before
> the for to make sure the else condition was being met.
>
> Finally, I just copy/pasted (literally) the for loop to just
> before the 'if'
> statement. Much to my surprise...the for loop now works
> perfectly. (Except,
> of course, if there are no records returned).
>
> The duduction...for loops will not work inside else statements. The
> question...why?
I guess this would be the end of all PHP-programming ;)
Of course you can place any correct block of code inside any other
correct block of code.
But, i your case $num_results IS zero. Just place an echo statement
inside the if block ;)
Very frequent error ;)
"if ($num_results = 0)" indeed is an asignment, no comparison.
Better use "==" if you want to compare thingies...
> I think I can work around this with some different coding,
> but why should I
> have to? I have done this same thing in java, perl and other
> languages...
Yes, also with "==" ;)
Cheers,
Kiko
--
It's not a bug, it's a feature.
christoph starkmann
mailto:kiko@nfq.de
http://www.gruppe-69.com/
ICQ: 100601600
--
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php