Johannes Zeller: include mit rückgabe wert ?

Beitrag lesen

Hallo susi,

<?php
global $output;
$return= $output."text";
return $return;
?>

nur kann ich auch mit global nicht auf $output zugreifen ...
warum?

Doch, in der Hinsicht funktioniert dein Beispiel. Du kannst sogar auf die Anweisung global $output verzichten, denn:

»When a file is included, the code it contains inherits the variable scope of the line on which the include occurs. Any variables available at that line in the calling file will be available within the called file, from that point forward.« (http://www.php.net/manual/en/function.include.php)

Dein Fehler liegt woanders:

<?php
$output= "hallo";
return include_once($file);
?>

nun will ich in dem $file enthaltenen file auf $output zugreifen!
und das ergebnis ausgeben!

Du willst das Ergebnis ausgeben, das geht jedoch nicht mit return. return beendet lediglich das laufende Script, gibt jedoch keine Daten aus. Dein Code müsste also so aussehen:

  
<?php  
    $output = "hallo";  
    echo include_once($file);  
    return;  
?>  

Schöne Grüße,

Johannes

--
ie:% fl:( br:< va:) ls:[ fo:) rl:) n4:& ss:| de:] js:| ch:} sh:) mo:} zu:)