Aller au contenu

Interpoler une fonction


Sujets conseillés

Posté (modifié)

Bonjour tout le monde,

C'est compris qu'il est possible d'interpoler le nom d'une variable dans une chaîne:

$chaine = "Il est maintenant $currentTime heures.";

Ce que je cherche, c'est un méthode de faire toute la même chose avec un appel à une fonction, par exemple:

$chaine = "Il est maintentant date("F j Y", $timeStamp) heures.";

C'est à dire, une structure du langage qui me permettrait de faire cela. Il y en a une qui s'applique aux tableaux; on les met entre les accolades: :idea:

$chaine = "Il est maintenant {$currentTime["France"]} heures.";

S'il y éxiste une chose pareille, elle me libera de devoir toujours me servir de variables «temporaires».

Aprilwine

Modifié par Aprilwine
Posté

Plus efficace, plus propre à lire et plus performant sans se poser de question :

$chaine = 'Il est maintentant '.date('F j Y', $timeStamp).' heures.';

Posté

Grouik !

Si je comprends bien, tu veux la méthode pour afficher et / ou la méthode pour enregistrer les dates dans un tableau ?

Pour afficher, en effet la méthode de findel est plus juste et plus propre.

Posté

Merci bien pour vos réponses...

Bah non, l'example donné n'était rien que ça. Je ne voulais pas mettre de vrai code; cela aurait compliqué le sujet sans cause. Les dates ne sont pas donc au coeur du sujet...

De toute façon c'est un bon conseil, d'utiliser l'opérateur de concaténation. Il me semble qu'il y ait une situation où ce méthode n'aille pas... mais ça me manque en ce moment. Donc si j'y arrive je vous le dirai!

Posté

Sinon tu peux utiliser le double quote, la différence :

$mot="world";

echo 'hello '.$mot; // retourne "hello world"
echo 'hello $mot'; // retourne "hello $mot"

echo "hello ".$mot; // retourne "hello world"
echo "hello $mot"; // retourne "hello world"

Posté

Tu peux appeler les fonctions de la même facon que les variables, c'est à dire entre accolades, avec les opérateurs de concaténation (les points).

Pour :

$chaine = "Il est maintentant date("F j Y", $timeStamp) heures.";

ca donnerait :

$chaine = "Il est maintentant ".date("F j Y", $timeStamp)." heures.";

Sinon, tu peux passer par le html, mais je trouve que ca rajoute du code et c'est moins 'propre' :

$chaine = "?>Il est maintentant <? echo date("F j Y", $timeStamp) ?> heures.<?";

Anonymus.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...