Page 1 sur 1

Indiquer le format du contenu d'un array PHP

Posté : 26 oct. 2007, 11:31
par pak77
reBonjour,

Dans mon panier virtuel, je voudrais (par exemple) id (int) nom (string) quantité (int) prix (float) total(float). Mais en réalité tous sont des string.
Comment je peux préciser celà à mon array car si je vais le prix total selon la quantité (prix*quantité) je n'obtiens pas un chiffre à 2 décimal (5.60*2=11.2)

Code : Tout sélectionner

array(4) { ["id_article"]=> array(1) { [0]=> string(10) "501" } ["qte"]=> array(1) { [0]=> int(2) } ["prix"]=> array(1) { [0]=> float(84.95) } }
Merci de votre aide

Posté : 26 oct. 2007, 11:46
par Ryle
Le type ne t'apportera pas grand chose, php fait les conversions implicite en fontion du contexte.

Ne pas afficher les 0 inutiles dans la partie décimale d'un nombre est une norme mathématique qui est différent du format monétaire. Si tu veux les faire apparaitre c'est juste question de formatage à l'affichage, et pour cela, la fonction number_format() devrait résoudre ton problème :)

Posté : 26 oct. 2007, 11:47
par d0m
les tableaux php sont polymorphes,
tu peux avoir un tableau avec différents types à l'intérieur.
Il suffit pour cela de bien lui ajouter les élements :
$tableau = array();
$tableau['id']       = 4;
$tableau['nom']       = 'le_nom';
$tableau['prix']     = 2.65;
$tableau['quantite'] = 8;

Posté : 26 oct. 2007, 12:19
par pak77
Super merci beaucoup :D ,

j'ai fait comme tu as dit

Code : Tout sélectionner

number_format($_SESSION['panier']['total'][$i],2)
et ça marche j'ai des totaux monétaires à 2 décimales

pour ce qui est tableaux polymorphes je savais pas, c'est bon à savoir aussi
je vais plus chercher pour rien à leur attribuer un format.. je croyais qu'on pouvait
puisqu'ils étaient différents sur l'exemple cité. Bref message conclu

Merci