hotti: Perl-Äquivalenz 'Funktion in der Ausgabe anwenden'

hi,

was in Perl so geht:

  
my $welt = 'welt';  
  
# Funktion anwenden und dann ausgeben  
my $foo_welt = foo($welt);  
print "Hallo $foo_welt\n";       # Hallo foo_welt  
# Funktion direkt in der Ausgabe anwenden  
print "Hallo @{[foo($welt)]}\n"; # Hallo foo_welt  
  
sub foo{  
	my $s = shift;  
	return 'foo_'.$s  
}  

Geht das auch in PHP zu machen?

Bitte mal um Hinweise,
Horst

  1. Tach!

    Funktion direkt in der Ausgabe anwenden

    print "Hallo @{[foo($welt)]}\n"; # Hallo foo_welt
    Geht das auch in PHP zu machen?

    Siehe PHP-Handbuch, Abschnitt zu den Strings.

    dedlfix.

    1. Tag,

      Funktion direkt in der Ausgabe anwenden

      print "Hallo @{[foo($welt)]}\n"; # Hallo foo_welt
      Geht das auch in PHP zu machen?

      Siehe PHP-Handbuch, Abschnitt zu den Strings.

      Top Antwort - gratuliere!

      http://www.php.net/manual/de/language.types.string.php

      unter Curly/Complex Syntax

      z.B.

        
      $x = "Hallo {foo($welt)}\n";  
      
      

      Ich hab's nicht probiert, es scheint zu funktionieren.

      Grüße

      • Steffen
      1. Tach!

        http://www.php.net/manual/de/language.types.string.php
        unter Curly/Complex Syntax

        z.B.

        $x = "Hallo {foo($welt)}\n";

        
        >   
        > Ich hab's nicht probiert, es scheint zu funktionieren.  
          
        Ich hab's nicht gesehen, es scheint du hast nicht richtig gelesen und außerdem eine Quelle verwendet, die mit dem Übersetzen hinterherhinkt. In der deutschen Handbuchseite ist dein Beispiel nicht enthalten. Im englichen Original ist es explizit als nicht funktionierend aufgeführt.  
          
        Allem Anschein nach ist beim Parsen von ""-Strings das $-Zeichen zwingend notwendig. Das kommt aber beim Funktionsaufruf nicht vor, weswegen ein einfacher solcher nicht erkannt wird - auch nicht mit {}-Klammern drumherum. Es wird lediglich ein Mix aus variablen Variablen mit Funktionsaufruf erkennt, bei dem der Name der eigentlich auszugegebenden Variable aus dem Ergebnis des Funktionsaufruf ermittelt wird.  
          
          
        dedlfix.