this might be a stupid question but …
php
function get_info() {
$something = "test";
return $something;
}
html
<div class="test"><?php echo get_info(); ?></div>
Is there a way to make the function automatically "echo" or "print" the returned statement?
Like I wanna do this …
<div class="test"><?php get_info(); ?></div>
… without the "echo" in it?
Any ideas on that? Thank you in advance!
You can use the special tags:
<?= get_info(); ?>
Or, of course, you can have your function echo the value:
function get_info() {
$something = "test";
echo $something;
}
Why return when you can echo if you need to?
function
get_info() {
$something = "test";
echo $something;
}
Why not wrap it?
function echo_get_info() {
echo get_info();
}
and
<div class="test"><?php echo_get_info(); ?></div>
Have the function echo the value out itself.
function get_info() {
$something = "test";
echo $something;
return $something;
}
One visit to echo's Manual page would have yielded you the answer, which is indeed what the previous answers mention: the shortcut syntax.
Be very careful though, if short_open_tag
is disabled in php.ini
, shortcutting echo's won't work, and your code will be output in the HTML. (e.g. when you move your code to a different server which has a different configuration).
For the reduced portability of your code I'd advise against using it.
Sure,
Either print it directly in the function:
function get_info() {
$something = "test";
echo $something;
}
Or use the PHP's shorthand for echoing:
<?= get_info(); ?>
Though I recommend you keep the echo. It's more readable and easier to maintain returning functions, and the shorthands are not recommended for use.