web-dev-qa-db-ja.com

PHP:関数から値を返し、それを直接エコーしますか?

これは愚かな質問かもしれませんが…

php

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

html

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

返されたステートメントを自動的に「エコー」または「印刷」する関数を作成する方法はありますか?私がこれをやりたいように…

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

…「エコー」なしで?

それについてのアイデアはありますか?前もって感謝します!

12
matt

特別なタグを使用できます:

<?= get_info(); ?>

または、もちろん、関数に値をエコーさせることができます:

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

必要な場合にエコーできるのに戻るのはなぜですか?

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

ラップしてみませんか?

function echo_get_info() {
  echo get_info();
}

そして

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

承知しました、

関数で直接印刷するか:

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

または、エコーにPHPの短縮形を使用します。

<?= get_info(); ?>

エコーを続けることをお勧めしますが。戻り関数をより読みやすく保守しやすいため、省略形を使用することはお勧めしません。

1
Madara Uchiha

echo のマニュアルページに1回アクセスすると、答えが得られます。これは、実際、前の答えで言及されているものです:shortcut syntax

ただし、 short_open_tagphp.ini、エコーのショートカットは機能せず、コードはHTMLで出力されます。 (たとえば、コードを異なる構成を持つ別のサーバーに移動する場合)。

コードの移植性を減らすために、使用しないことをお勧めします。

1
Rem.co

関数に値をエコー出力させます。

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