Salut à tous,
voila j'ai une variable
$num=999ANIP54230
Je voudrais en créer une autre qui ne récupère que les 3 dernier chiffres
comment dois-je écrire mon code
$result=...
Merci
Version imprimable
Salut à tous,
voila j'ai une variable
$num=999ANIP54230
Je voudrais en créer une autre qui ne récupère que les 3 dernier chiffres
comment dois-je écrire mon code
$result=...
Merci
Si ton $num à tjr le meme nombre de chiffre tu peux faire
$num=999ANIP54230
//a partir du 10eme chiffre, prendre les 3 suivants...
$result= substr($num, 10, 3);
Non, mon $num n'a pas toujours le même nombre de chiffres
il faudrait que le code lui indique de prendre les trois derniers chiffres quelque soit le nombre de chiffres
Plus simple et plus générique :
Code:
1
2 $num="999ANIP54230"; $result= substr($num, -3);
Et ce serait encore mieux avec une regex, mais je dois aller manger ;)
merci beaucoups @+
Salut à tous,
J'ai petit problème,
Je récupère bien ma variable avec les trois derniers chiffres, mais lorsque je ces trois chiffres sont par exemple 005, cela ne me ramène que 5
ça ignore les zéros,
comment puis-je faire?
La fonction substring renvoie une chaîne, qui doit alors contenir les zéros.
Peut-être fais-tu ensuite une conversion plus ou moins implicite.
Quoi qu'il en soit, number_format() pourra te remettre les zéros en place : http://fr.php.net/manual/fr/function.number-format.php
Citation:
number_format — Formate un nombre pour l'affichage
Merci mais je rame un peu
j'écrit ça
$num="999ANIP54230";
$result= number_format($num, -3);
Résultat: 999
Mais je voudrais plutôt 230
:roll:
Toutes mes excuses, je me suis trompé sur ta demande : number_format est utile pour formater des réels, mais ce sont les zéros non significatifs qui t'intéressent.
Cette solution pourrait te convenir :
Code:
1
2
3
4 $num="999ANIP54001"; $num= substr($num, -3); $num = sprintf('%3s', $num); print $num;
c'est pas plutotCode:print $num;
print ($num);
parceque ça buggue dur
:arrow: http://fr.php.net/manual/fr/function.print.phpCitation:
print() n'est pas vraiment une fonction (c'est techniquement une structure de langage). Cela fait que vous n'êtes pas obligé d'utiliser des parenthèses.
Si tu définissais "ça buggue dur", ce serait plus facile pour t'aider
pas eu trops le temps de voir les message d'erreur car test sur le site intranet en direct live ,
donc obligé de remettre le code correctement
j'ai juste vu apparaitre error on line.... surement la ligne concernée parpar en supprimant juste celle là ça remarcheCode:print $num;
j'ai donc actuellemnent
et là ça donne 1 et non 001Code:
1
2
3 $num="999ANIP54001"; $num= substr($num, -3); $num = sprintf('%3s', $num);
J'utilise asse souvent print au lieu de echo par habitude, ainsi ça ne me change pas de perl et python.
Mais pour revenir à une syntaxe phpesque (un caramel à celui qui le prononce ! ;)), je colle un code qui fonctionne chez moi :
Avec ça, j'obtiens vraiment 001.Code:
1
2
3
4
5 $num="999ANIP54001"; $num= substr($num, -3); $num = sprintf('%3s', $num); echo $num;
Pourrais-tu nous coller tout ton script ?
Bonjour,
Ce code :
m'affiche '001'.Code:
1
2
3
4
5 <?php $num = '999ANIP54001'; $num = substr($num, -3); echo $num; ?>
Cela ne proviendrait-il pas de l'écriture dans excel car le résultat à l'air OKCode:
1
2
3
4
5
6
7
8
9 <?php $num = '999ANIP54001'; $num = substr($num, -3); //et aprés, j'écris dans une cellule d'excel (avec spreadsheet) $Worksheet-->write(1 , 16 , "$num", $border1); ?>
J'ai fait un copier-coller dans OpenOffice du résultat de ce code, soit '001, et il affiche les zéros, alors que le code précédent n'affiche que 1.Code:
1
2
3
4
5 <?php $num = '999ANIP54001'; $num = '\'' . substr($num, -3); echo $num; ?>
Déja beaucoups mieux, mais là il me donneCode:
1
2
3
4
5 <?php $num = '999ANIP54001'; $num = '\'' . substr($num, -3); echo $num; ?>
'001
Donc pas problème excel quoique ensuite j'ai un renvois de cette cellule vers une cellule d'une autre feuille (donc excel vers excel) et là le format de la cellule est important lequel faut-il mettre por recupérer la valeur entière (001)Code:
1
2Quel est le format de la cellule ? Car en standard, excel transforme les chaînes en nombres si possible. Je mets 20$ sur le problème excel.
OpenOffice affiche l'apostrophe dans la barre de formule, mais pas dans la cellule.
ah non, non, dans excel, l'apostrophe s'affiche dans la barre de formule, mais aussi dans la cellule.
Mais ça me va comme ça, si toutefois vous avez la réponse pour supprimer l'apostrophe, je suis preneur
merci à tous