2012-06-13 2 views
5

könnte dies eine dumme Frage, aber ...PHP: Rückgabewert von Funktion und echo es direkt?

php

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

html

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

Gibt es eine Möglichkeit, die Funktion automatisch "Echo" oder "Druck" zu machen die zurückgegebene Aussage? Wie ich dies tun möchte ...

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

... ohne das "Echo" in ihm?

Irgendwelche Ideen dazu? Vielen Dank im Voraus!

Antwort

17

Sie können die Spezial-Tags verwenden:

<?= get_info(); ?> 

Oder natürlich können Sie Ihre Funktion den Wert echo:

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

Warum es nicht wickeln?

function echo_get_info() { 
    echo get_info(); 
} 

und

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

Warum zurück, wenn Sie Echo können, wenn Sie benötigen?

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

Sicher,

Entweder direkt in der Funktion drucken:

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

oder der Stenografie PHP verwenden für Echo:

<?= get_info(); ?> 

Obwohl ich empfehlen halten Sie das Echo . Es ist lesbarer und einfacher, zurückkehrende Funktionen zu verwalten, und die Shorthands werden nicht zur Verwendung empfohlen.

2

Ein Besuch in der echo Handbuchseite hätte Ihnen die Antwort geliefert, die in der Tat die vorherigen Antworten erwähnt: Abkürzung Syntax.

Seien Sie jedoch sehr vorsichtig, wenn short_open_tag in php.ini deaktiviert ist, funktioniert Abkürzungsechos nicht, und Ihr Code wird im HTML ausgegeben. (z. B. wenn Sie Ihren Code auf einen anderen Server mit einer anderen Konfiguration verschieben).

Für die eingeschränkte Portabilität Ihres Codes würde ich davon abraten, es zu verwenden.

+1

Für den Datensatz ab PHP 5.4 ist "

1

Lassen Sie die Funktion den Wert selbst aussprechen.

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