Se connecter

Convertir les données récupérées pour les réutiliser

Convertir les données

La méthode utilisée pour la conversion consiste à supprimer tout ce qui n’est pas un chiffre, cela signifie que même les virgules vont être supprimées.

La première étape donc, est de protéger cette virgule :

$virgule = str_replace(',','55555', $getPrix[0]);

La fonction str_replace comme son nom l’indique, va nous permettre de remplacer la virgule par ce que l’on souhaite, ici il nous l’avons donc changée avec « 55555 », vous pouvez y mettre ce que vous voulez tant que ça reste des chiffres. En revanche, évitez des chiffres trop courts puisque si par exemple vous remplacez la virgule par un « 9 », un prix de 5,99€ affichera au final 5,,,€ !

Une fois notre virgule protégée, nous pouvons commencer à supprimer tout ce qui n’est pas un chiffre et convertir directement en int :

$conv = intval(preg_replace('/[^0-9]+/', '', $virgule), 10);

Ici donc comme expliqué précédemment, cette fonction va garder que les chiffres contenus dans notre variable $virgule et sortir au final une variable déjà de type « int » nommée « $conv ».

Vient ensuite la troisième conversion, une simple cette fois-ci il suffis simplement de reconvertir notre int en float si on souhaite utiliser des virgules :

$conv2 = floatval($conv);

Et enfin, dernière étape il suffit de reconvertir notre virgule en… virgule ! Puisque rappelez vous, nous l’avions précèdemment changée en « 55555 », et bien elle est encore sous cette forme, et donc si nous la changeons pas à nouveau nous pourrions nous retrouver avec des prix de l’ordre de… 55555599€ !

Nous allons donc réutiliser la fonction str_replace mais cette fois dans l’autre sens, nous remplaçons nos « 55555 » par un point cette fois ci, ce qui permet d’utiliser notre variable en float par la suite et d’avoir des prix précis.

$conv3 = floatval(str_replace('55555', '.', $conv2));

Et voilà, désormais vous avez votre prix avec des virgules prêt pour faire des calculs !

Si par hasard, vous souhaitez créer un script pour qu’à son lancement tout vos prix soit mis à jours dans votre table, vous avez juste besoin d’utiliser les mêmes fonctions mais cette fois ci dans un foreach parcourant la requête dans laquelle vous aurez cherché les identifiants de vos produits correspondant à votre fournisseur.

TOUT VOIRAjouter une remarque
VOUS
Ajouter votre commentaire

Chercher un cours

S’abonner aux news

Publicité

FREEDOM SUBSTITUTE | 2015-2017
X