Perl-Äquivalenz 'Funktion in der Ausgabe anwenden'
hotti
- php
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
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.
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
Tach!
http://www.php.net/manual/de/language.types.string.php
unter Curly/Complex Syntaxz.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.