Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/02/2011, 15h22   #1
Membre du Club
 
Inscription : février 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 226
Points : 55
Points : 55
Par défaut Chaine PHP limitée

Bonjour à tous,

j'ai un problème de concaténation en PHP, j'aimerai avoir une chaine de ce format :

'77' . 0000 . 'id'

Le soucis, c'est que je ne sais pas combien de '0' je dois mettre entre '77' et l'identifiant unique de ma base de données. Comment puis-je le savoir ?

En espérant avoir été clair,

Merci !
Nemesis007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 15h43   #2
Modérateur
 
Avatar de sabotage
 
Homme Vincent
Inscription : juillet 2005
Messages : 14 929
Détails du profil
Informations personnelles :
Nom : Homme Vincent

Informations forums :
Inscription : juillet 2005
Messages : 14 929
Points : 16 381
Points : 16 381
tu peux utiliser le replissage avec sprintf :
Code :
1
2
3
<?php
$x  = 200;
echo sprintf("77%05d",$x);
sabotage est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/02/2011, 15h59   #3
Membre du Club
 
Inscription : février 2007
Messages : 226
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 226
Points : 55
Points : 55
Citation:
Envoyé par sabotage Voir le message
tu peux utiliser le replissage avec sprintf :
Code :
1
2
3
<?php
$x  = 200;
echo sprintf("77%05d",$x);
Avec ton code sabotage, j'obtiens : '7701280' et non '770000000200' (je me suis peut être trompé :s)

ceci dit, j'ai codé quelque chose qu'il a l'air de marcher même si je ne trouve pas ça "propre"... :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
 
<?php
 
$id = '200';
$result = '';
 
while (strlen($result . $id) < 10)
{
  $result .= '0';
}
 
echo ' Result : 77' . $result . $id;
Merci.

Edit : ton code fonctionne, il fallait juste un peu l'adapter (je n'avais pas du tout penser au sprintf !)

Code :
1
2
3
 
$x  = '200';
echo sprintf("77%010s",$x);
Nemesis007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h57.


 
 
 
 
Partenaires

Hébergement Web