You are here: Re: [PHP] Unnecessary if statement? Programming technique « PHP « IT news, forums, messages
Re: [PHP] Unnecessary if statement? Programming technique

Posted by "Steve McGill" on 12/06/05 18:04

Hi,
David is right about the unwanted side-effect. Thanks for the idea though.
Unfortunately the 'greater problem' is not so great, I've just been doing
this for a while now and find myself programming loops like these so often
and I've never got round to testing if a simple IF statement is a major
drain on the CPU. Somehow I doubt it.
I got this reply from someone direct to my mail address, which seems to sum
it up:

--
In truth you are not evaluating the whole if block just the condition
and since its such a simple condition I can't see how it would be at
all taxing on the server. In your specific case I can't think of a
better way to do it either.
--

I'll try and think of a better example:

<?
$bool = true; // this is set dynamically and not known in advance
while(true) {
if($bool) { // this condition tested in every single loop
// do first code
} else {
// do second code
}
}
?>

and I am wondering if the compiler is smart enough to turn this into:

<?
$bool = true; // this is set dynamically and not known in advance
if($bool) { // this condition only tested once
while(true) {
// do first code
}
} else {
while(true) {
// do second code
}
}
?>

I realise this might be hard to follow without giving specific examples and
code.

In this case, the coding style of the 2nd example seems far better, but
sometimes the 2 blocks of code are practically identical and it's a
programmer's nightmare to have the blocks of code in 2 places and to
remember to keep them both updated.

I'm also assuming that using function calls is also much slower than
evaluating a very simple IF statement.

Thanks for your interest.

Best wishes,
Steve

"David Grant" <david@grant.org.uk> schreef in bericht
news:4395B271.4030303@grant.org.uk...
> Jared Williams wrote:
>> Why not
>>
>> for ($i = 0; $i < 1000000/100; ++$i)
>
> This involves dividing 1000000 by 100 for each iteration of the loop.
> It would be better to test against 10000.
>
> There is also the unwanted side-effect of executing the code on each
> hundredth iteration, which is unwanted (as far as I understand the
> problem). :)
>
> It would be interesting if Steve could divulge the greater problem that
> he is seeking a solution to.
>
> Cheers,
>
> David
> --
> David Grant
> http://www.grant.org.uk/

 

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

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