On 27 April 2009 14:21, PJ advised:

> Ford, Mike wrote:
>> On 26 April 2009 22:59, PJ advised:
>>> kranthi wrote:
>>>> if $Count1 is never referenced after this, then certainly this
>>>> assignment operation is redundent. but assignment is not the ONLY
>>>> operation of this statement. if u hav not noticed a post increment
>>>> operator has been used which will affect the value of $Count as
>>>> and this operation is required for the script to work.
>>>> the script should work even if u replace
>>>> $Count1 = $Count++;
>>>> with
>>>> $Count++;
>>>> Kranthi.
>>> Not quite, since that would change the $Count variable and that is
>>> leater in the code.
>> Um -- I must be missing something here, because those two statements
>> have exactly the same effect on $Count, incrementing it by one (and
>> said the first statement fixed your problem, so logically the second
>> must too). 
>> In fact, because you've used a post-increment, the statement
>>    $Count1 = $Count++;
>> ends up with $Count == $Count1+1, and $Count1 being the original
>> of $Count!! 
>> This whole scenario smacks to me of a classic "off-by-one" error --
>> either $Count actually *needs* to be one greater than the value you
>> first thought of, or some other value you are comparing it to should
>> one smaller than it actually is.
>> Cheers!
> Thanks for the clarification, Mike. In my ignorance, I was under the
> impression that the right side of the equation was only for the use of
> the left part. How stupid of me. So what I should have been doing was
> $Count1 = $Count + 1; right?

No -- because, as you stated, $Count1 was not referred to anywhere else,
so there was and would have been no usefulness in assigning any value to
it.  You could equally well have said $Count1 = 2.71828 + 3.14159 *
$Count++; and got the same result -- because this still increments
$Count by 1, and anything else the statement does is irrelevant if
$Count1 is never referred to anywhere else!!! ;) ;)

What you did worked because $Count++ *always* adds one to the value of
$Count, no matter where it appears -- the crucial part of your original
statement was the $Count++ bit, with the assignment to $Count1 being a
massive red herring.

For ultimate clarification, the following 4 statements all have
identical effect:

   $Count = $Count + 1;
   $Count += 1;

and any one of them would have had the same effect on your result. This
is why I say it was an off-by-one error -- your programming logic
somehow *needed* $Count to be 1 greater than you thought it did, so the
inadvertent incrementation of it was doing the trick for you.

Hope this helps increase the illumination in your head a tiny bit more.



Mike Ford,  Electronic Information Developer,
C507, Leeds Metropolitan University, Civic Quarter Campus, 
Woodhouse Lane, LEEDS,  LS1 3HE,  United Kingdom
Email: m.f...@leedsmet.ac.uk
Tel: +44 113 812 4730

To view the terms under which this email is distributed, please go to 

PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to