Page 1 sur 1

[resolu] string.format en php

Posté : 24 mars 2009, 09:53
par rufus_
Bonjour

en dot.net il y a un string.format très pratique
par exemple

Code : Tout sélectionner

Const str as string = "Bonjour {0},{1},{0},{2}" Dim res as string = string.format(str,A,B,C) donnera A,B,A,C
comment peut on faire ca en php5 ?

j'ai une chaine de caractère [tr][td ]?[/td][/tr]

je veux obtenir <tr><td>CONTENU</td></tr>

merci

Posté : 24 mars 2009, 10:10
par zeus
Bonjour,

oui, l'équivalent est sprintf()
$str = "Bonjour %s,%s,%s,%s";
echo sprintf($str, 'A','B','A','C');
// Va afficher "Bonjour A,B,A,C"

Posté : 24 mars 2009, 10:17
par rufus_
Bonjour

{0}{1}{2}{0} est différent de %s,%s,%s,%s

dans {0}{1}{2}{0} chaque valeur est remplacée selon sa variable et {0} existe 2 fois

il faudrait en php un truc du genre %s0,%s1%s2,%s0

Posté : 24 mars 2009, 10:25
par savageman
$str = "Bonjour %1$s,%2$s,%1$s,%3$s"; 
echo sprintf($str, 'A','B','C'); 
// Va afficher "Bonjour A,B,A,C"

Posté : 24 mars 2009, 10:33
par rufus_
ca marche avec
$str = 'Bonjour %1$s,%2$s,%1$s,%3$s';

j'ai une erreur avec
$str = "Bonjour %1$s,%2$s,%1$s,%3$s"; >> Undefined variable: s

on dirait qu'il accepte pas les "

merci pour l'aide

Posté : 24 mars 2009, 11:58
par jojolapine
C'est normal que tu ais une erreur, puisque tu as le signe $ qui est interprété comme un début de nom de variable...
$str = "Bonjour %1\$s,%2\$s,%1\$s,%3\$s";
Après tu aurais pu aller chercher dans la doc une fois la fonction donnée par Zeus... ;)
Tout est là bas!

Posté : 24 mars 2009, 12:35
par rufus_
Je pensais qu'en php tout ce qui était entre quote ou double quote était un string

Posté : 24 mars 2009, 12:45
par jojolapine
Alors effectivement se sont des string, mais les doubles quotes sont interprétés au préalable...
Test ceci:
<?php
$var=1;
echo "$var = $var";
echo "\$var = $var";
echo '$var = $var';
echo '$var=',"$var";
?>

Posté : 24 mars 2009, 15:16
par rufus_
donc si on veut du string c'est systématiquement quote , pour se simplifier la vie

merci

Posté : 24 mars 2009, 15:24
par jojolapine
Ben euh... c'est pas très clair ta question :s
Si on veut du string... (à part aller dans un magasin de lingerie...)
Je vois pas trop ce que tu souhaites?
Donnes nous un cas concret ;)

Posté : 24 mars 2009, 16:13
par zeus
Si on veut du string... (à part aller dans un magasin de lingerie...)
:shock: :afraid: :evil:

:langue:

Posté : 24 mars 2009, 16:17
par rufus_
c'est bon mon problème est résolu merci

Posté : 24 mars 2009, 16:39
par Victor BRITO
donc si on veut du string c'est systématiquement quote , pour se simplifier la vie
Pour les différentes syntaxes possibles des chaînes de caractères en PHP, le manuel est ton ami. ;)

Posté : 24 mars 2009, 16:48
par rufus_
merci