web-dev-qa-db-fra.com

PHP: renvoyer la valeur de la fonction et l'écho directement?

cela pourrait être une question stupide mais ...

php

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

html

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

Existe-t-il un moyen de faire en sorte que la fonction "fasse écho" ou "imprime" automatiquement l'instruction retournée? Comme si je voulais faire ça…

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

… Sans "écho" en elle?

Des idées à ce sujet? Merci d'avance!

12
matt

Vous pouvez utiliser les balises spéciales:

<?= get_info(); ?>

Ou bien sûr, vous pouvez faire écho à votre fonction la valeur:

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

Pourquoi revenir quand vous pouvez faire écho si vous en avez besoin?

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

Pourquoi ne pas l'envelopper?

function echo_get_info() {
  echo get_info();
}

et

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

Sûr,

Soit l'imprimer directement dans la fonction:

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

Ou utilisez le raccourci PHP pour faire écho:

<?= get_info(); ?>

Bien que je vous recommande de garder l'écho. Il est plus lisible et plus facile de maintenir les fonctions de retour, et les raccourcis ne sont pas recommandés pour une utilisation.

1
Madara Uchiha

Une visite sur la page du manuel de echo vous aurait donné la réponse, ce qui est en effet ce que mentionnent les réponses précédentes: la syntaxe de raccourci .

Soyez très prudent cependant, si short_open_tag est désactivé dans php.ini, les échos de raccourcis ne fonctionneront pas et votre code sera affiché dans le HTML. (par exemple, lorsque vous déplacez votre code vers un autre serveur qui a une configuration différente).

Pour la portabilité réduite de votre code, je vous déconseille de l'utiliser.

1
Rem.co

Demandez à la fonction de reproduire la valeur elle-même.

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