Read the manual carefully

Far too many people write code like this:

print "Foo" . somefunc() . " bar " . anotherfunc();

At first glance, that code might make sense. However, the . operator (string concatenation) has to be run three times before print is finally called. So, PHP would execute something like this:

  • Create a new, temporary string

  • Put "Foo" in there

  • Put the result of the somefunc() function in there

  • Create a new, temporary string

  • Put the first temporary string in there

  • Put " bar " in there

  • Create a new, temporary string

  • Put the second temporary string in there

  • Put the result of the anotherfunc() function in there

  • Send the final temporary string to print, for screen printing

Complicated? A little. Stupid? Certainly. The echo function can take more than one parameter simply by separating them with a comma while still having the same basic functionality. The extra parameters are not joined together in a new string like they are with the concatenation operator, they are just output directly.

So, your code would become:

echo "Foo", dosomething(), " bar ", dosomethingelse();

Using a code cache does help eliminate or at least lessen these coding errors, but that does not mean you should be lazy!

 

Next chapter: Get your loops right first >>

Previous chapter: Use a PHP code cache

Jump to:

 

Home: Table of Contents

Follow us on Identi.ca or Twitter

Username:   Password:
Create Account | About TuxRadar