PHP and Echo

By  on  

As any beginner PHP could tell you, the echo function outputs data to the screen (or command line depending on how you're using PHP). Some, however, may not know that PHP's "echo()" isn't really a function at all. From PHP.net:

"echo() is not actually a function (it is a language construct), so you are not required to use parentheses with it. echo() (unlike some other language constructs) does not behave like a function, so it cannot always be used in the context of a function. Additionally, if you want to pass more than one parameter to echo(), the parameters must not be enclosed within parentheses."

So, instead of traditionally coding this...

echo("The MD5 of $text is:  ".md5($text)."!");

...you can actually do this...

echo "The MD5 of $text is:  ",md5($text),'!';

In fact, separating strings with commas is faster than concatenation! With a name like echo, it should be a bit crazy, right?

Recent Features

  • By
    Regular Expressions for the Rest of Us

    Sooner or later you'll run across a regular expression. With their cryptic syntax, confusing documentation and massive learning curve, most developers settle for copying and pasting them from StackOverflow and hoping they work. But what if you could decode regular expressions and harness their power? In...

  • By
    7 Essential JavaScript Functions

    I remember the early days of JavaScript where you needed a simple function for just about everything because the browser vendors implemented features differently, and not just edge features, basic features, like addEventListener and attachEvent.  Times have changed but there are still a few functions each developer should...

Incredible Demos

  • By
    Facebook Open Graph META Tags

    It's no secret that Facebook has become a major traffic driver for all types of websites.  Nowadays even large corporations steer consumers toward their Facebook pages instead of the corporate websites directly.  And of course there are Facebook "Like" and "Recommend" widgets on every website.  One...

  • By
    Create a Photo Stack Effect with Pure CSS Animations or MooTools

    My favorite technological piece of Google Plus is its image upload and display handling.  You can drag the images from your OS right into a browser's DIV element, the images upload right before your eyes, and the albums page displays a sexy photo deck animation...

Discussion

  1. Niobe

    Whoa the comma thing is a mindfreak. That saves some concatenated html output hell.

  2. “In fact, separating strings with commas is faster than concatenation!”

    I’m not sure what you mean by this? How is it faster?

  3. I don’t think I have ever used parentheses with the echo. It’s weird to me to see it done like that.

  4. @deef: It’s faster because PHP doesn’t need to continuously concatenate string upon string — commas allow for “Boom! Boom! Boom! Boom!” instead of “……….BOOM!”.

    @mark: I was high-horse about it for a while. To me it was a function so “echo()” was “best form.” Foolish, I was.

  5. I ran a quick test to see if I would notice some speed differences using the commas, noticed about 10% output speed increase in the test script. Funny… didn’t kow about it. Thank you!

  6. Well, I always use echo; I didn’t actually know you could do echo(), but no matter. Not a function? Strange.

    I read about the comma versus dot thing on an optimization post. According to this guy’s tests is was nowhere near 10%, but commas were still faster nonetheless.

    http://making-the-web.com/2007/08/24/tips-for-faster-php-scripts/

  7. I always hated the concatenation! but didnt know that commas do it faster.
    Thanks

  8. Thomas

    Find an interesting PHP-Benchmark.
    Somewhere down the page, there is also an echo-Benchmark.
    Seems like commas are not allways faster.

    http://www.phpbench.com/

  9. Thomas

    Find => Found
    allways => always

    It was to early in the morning, sorry! :-)

  10. http://www.phpbench.com/

    The author only compares echo with commas/periods using either all string or all variable. I’d be interested in seeing a comparison using some combination of both variables and commas.. something like

    $a = ‘bbbbbb’;
    echo ‘aaaaaa’,$b,’aaaaaa’,$b;

    vs

    echo ‘aaaaaa’.$b.’aaaaaa’.$b;

Wrap your code in <pre class="{language}"></pre> tags, link to a GitHub gist, JSFiddle fiddle, or CodePen pen to embed!