php : echo"", print(), printf()

php, syntax

Solution

There are 2 differences between `echo` and `print` in PHP:

`print` returns a value. It always returns 1.

`echo` can take a comma delimited list of arguments to output.

Always returning 1 doesn't seem particularly useful. And a comma delimited list of arguments can be simulated with multiple calls or string concatenation. So the choice between `echo` and `print` pretty much comes down to style. Most PHP code that I've seen uses `echo`.

`printf()` is a direct analog of c's `printf()`. If you're comfortable in the c idiom, you might use `printf()`. A lot of people in the younger generation though, find `printf()`'s special character syntax to be less readable than the equivalent `echo` code.

There are probably differences in performance between `echo`, `print` and `printf`, but I wouldn't get too hung up on them since in a database driven web application (PHP's typical domain), printing strings to the client is almost certainly not your bottleneck. The bottom line is that any of the 3 will get the job done and one is not better than another. It's just a matter of style.

Problem

Is there a better way to output data to html page with PHP? If I like to make a div with some var in php, I will write something like that ``` print ('<div>'.$var.'</div>'); ``` or ``` echo "'<div>'.$var.'</div>'"; ``` What is the proper way to do that? Or a better way, fill a `$tempvar` and print it once? like that: ``` $tempvar = '<div>'.$var.'</div>' print ($tempvar); ``` In fact, in real life, the var will be fill with much more!

Original source

Related problems