En PHP il est possible d'utiliser une fonction dans une variable
Je connais en php, vous pouvez inclure des variables à l'intérieur de variables, comme:
<? $var1 = "I\'m including {$var2} in this variable.."; ?>
Mais je me demandais comment, et s'il était possible d'inclure une fonction à l'intérieur d'une variable.
Je sais que je pourrais juste écrire:
<?php
$var1 = "I\'m including ";
$var1 .= somefunc();
$var1 = " in this variable..";
?>
Mais que faire si j'ai une variable de type long pour la sortie, et je ne veux pas faire ça à chaque fois, ou je veux utiliser plusieurs fonctions:
<?php
$var1 = <<<EOF
<html lang="en">
<head>
<title>AAAHHHHH</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
There is <b>alot</b> of text and html here... but I want some <i>functions</i>!
-somefunc() doesn't work
-{somefunc()} doesn't work
-$somefunc() and {$somefunc()} doesn't work of course because a function needs to be a string
-more non-working: ${somefunc()}
</body>
</html>
EOF;
?>
Ou je veux changements dynamiques qui se chargent de code:
<?
function somefunc($stuff) {
$output = "my bold text <b>{$stuff}</b>.";
return $output;
}
$var1 = <<<EOF
<html lang="en">
<head>
<title>AAAHHHHH</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</head>
<body>
somefunc("is awesome!")
somefunc("is actually not so awesome..")
because somefunc("won\'t work due to my problem.")
</body>
</html>
EOF;
?>
Bien?
<? $var1 = "I\'m incluant {$var2} dans cette variable.."; ?> Pourquoi êtes-vous échapper à une seule citation à l'intérieur des guillemets? 😉
OriginalL'auteur troskater | 2008-09-13
Vous devez vous connecter pour publier un commentaire.
Appels de fonction dans les chaînes de caractères sont pris en charge depuis PHP5 par le fait d'avoir une variable qui contient le nom de la fonction à appeler:
sera sortie "
foo <b>bar</b> baz
".Je trouve ça plus facile, en revanche (et cela fonctionne en PHP4) soit il suffit d'appeler la fonction à l'extérieur de la chaîne:
ou l'affecter à une variable temporaire:
Vous ne devriez jamais appeler une fonction à l'intérieur de votre point de vue, de toute façon, sauf pour échapper à des fonctions comme htmlspecialchars (ce qui est une façon trop longtemps le nom de la fonction pour la fin, vis de vous, PHP)...
Non seulement plus facile, mais soignée et lisible.
OriginalL'auteur Jason Weathered
"bla bla bla".function("blub")." and on it goes"
OriginalL'auteur MattW.
Étendre un peu sur ce que Jason W a dit:
Vous pouvez aussi intégrer cet appel de fonction directement dans votre code html, comme:
Je pense aussi que tu veux dire $corps .= ", World!"; (dot avant d'égal à égal). Juste au cas où quelqu'un copie/colle ton exemple...
Le titre de la page fonction des échos quelque chose donc ne fonctionne pas avec les balises courtes. // La page_body fonction ne retourne rien, donc il n'en est rien avec les balises courtes activé. // Aussi, même si il serait de retour quelque chose, <? et <?= sont une très grande différence, où <? ne fait rien // C'est très mauvais code!
OriginalL'auteur Tim Kennedy