PHP:从函数返回值并直接回显它?

时间:2012-06-13 17:53:59

标签: php function echo

这可能是一个愚蠢的问题,但......

PHP

function get_info() {
    $something = "test";
    return $something;
}

HTML

<div class="test"><?php echo get_info(); ?></div>

有没有办法让函数自动“回显”或“打印”返回的语句? 就像我想做这个......

<div class="test"><?php get_info(); ?></div>

......没有“回声”吗?

有什么想法吗?提前谢谢!

7 个答案:

答案 0 :(得分:19)

您可以使用特殊标签:

<?= get_info(); ?>

或者,当然,您可以让您的函数回显值:

function get_info() {
    $something = "test";
    echo $something;
}

答案 1 :(得分:6)

为什么要在需要时回复?

function 
get_info() {
    $something = "test";
    echo $something;
}

答案 2 :(得分:2)

为什么不包裹它?

function echo_get_info() {
  echo get_info();
}

<div class="test"><?php echo_get_info(); ?></div>

答案 3 :(得分:1)

当然,

直接在函数中打印:

function get_info() {
    $something = "test";
    echo $something;
}

或者使用PHP的简写来回显:

<?= get_info(); ?>

虽然我建议你保持回声。它更易读,更容易维护返回的功能,不推荐使用短序。

答案 4 :(得分:1)

访问echo的“手册”页面会产生答案,这确实是之前的答案所提到的:快捷语法

但是要非常小心,如果在php.ini中禁用了short_open_tag,则快捷方式回复将无效,您的代码将在HTML中输出。 (例如,当您将代码移动到具有不同配置的其他服务器时)。

为了降低代码的可移植性,我建议不要使用它。

答案 5 :(得分:1)

让函数自己回显值。

function get_info() {
    $something = "test";
    echo $something;
    return $something;
}

答案 6 :(得分:0)

您可以将其添加为参数,以便您可以根据情况回显或返回。根据您最常用的方式将其设置为true或false。

<?php
function get_info($echo = true) {

    $something = "test";

    if ($echo) {
        echo $something;
    } else {
        return $something;
    }

}

?>

<?php get_info(); ?>
<?php echo get_info(false); ?>