Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1514 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Changer la 'key' d'un array..

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Changer la 'key' d'un array..

n°2098439
flclsd
Posté le 30-08-2011 à 14:13:01  profilanswer
 

Bonjour à tous.. je vous expose mon problème en esperant trouver quelques réponses pour améliorer ma code actuel
 
voici une petite classe panier
 

Code :
  1. class mon_panier{
  2.  
  3.     public function add($nom, $qty, $taille){
  4.         $label = $nom.'-'.$qty.'-'.$taille;
  5.         $this->articles[$label] = array('test'=>'quelques valeurs');
  6.     }
  7.    
  8.     public function change_taile($label, $nouvelle_taille){
  9.        
  10.         $mon_article = $this->articles[$label];
  11.        
  12.         $this->articles[$label] = str_replace('XL', $nouvelle_taille, $this->articles[$label]);
  13.     }
  14. }


 
et voici comment j'ajoute un produit et je change une taille

Code :
  1. $test = new mon_panier();
  2. $test->add('TOTO/AG/USFR', 2, 'XL');
  3. $test->change_taile('TOTO/AG/USFR-2-XL', 'XXL');


 
mon objet a cette forme :
 

Code :
  1. mon_panier Object
  2. (
  3.     [articles] => Array
  4.         (
  5.             [TOTO/AG/USFR-2-XL] => Array
  6.                 (
  7.                     [test] => quelques valeurs
  8.                 )
  9.         )
  10. )


 
j'aimerais pouvoir changer TOTO/AG/USFR-2-XL par TOTO/AG/USFR-2-XXL, actuellement je supprime le produit et j'ajoute un nouveau avec la bonne taille, mais je n'aime pas cette facon de faire..
 
Est 'il possible de faire ce que j'aimerais ou alors ...

mood
Publicité
Posté le 30-08-2011 à 14:13:01  profilanswer
 

n°2098737
CyberDenix
Posté le 31-08-2011 à 14:05:50  profilanswer
 

Ton problème est structurel.
 
Tel que ta structure est présentée, c'est impossible, car la taille (XL, XXL) fait partie de ta clé, or dans un tableau associatif, la clé est le point d'entrée.
 
Tu dois de fait passer cette taille en tant que valeur/attribut, et tant qu'à faire, utiliser des ids pour désigner tes produits :
 

Code :
  1. mon_panier Object
  2. (
  3.    [articles] => Array
  4.        (
  5.            [568442397] => Array
  6.                (
  7.                    [ref] => TOTO/AG
  8.                    [size] => USFR-2-XL
  9.                    [test] => quelques valeurs
  10.                )
  11.        )
  12. )


 

Code :
  1. setSize($a, 568442397, 'USFR-2-XL');
  2.  
  3. function setSize(&$a, $id, $size) {
  4.  $a[$id]['size'] = $size;
  5. }


Message édité par CyberDenix le 02-09-2011 à 21:17:12

---------------
Directeur Technique (CTO)
n°2099184
flclsd
Posté le 02-09-2011 à 12:05:43  profilanswer
 

merci de ta réponse, je vais réorganiser mon object panier ;-)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Changer la 'key' d'un array..

 

Sujets relatifs
Passer string en array[PPT/VBA] Changer tiret et couleurs de traits sur différents slides
calendrier changer en ligneCode VB pour changer les jours samedi et lundi au vendredi
[SQL] Changer la casse d'un titre?erreur de requete mysql -mysql_fetch_array(): supplied argument is not
array ou varchar ?[Résolu][javascript][classement array]
retirer un element d'un array en js[Delphi] Listbox : changer un element de place avec la souris.
Plus de sujets relatifs à : Changer la 'key' d'un array..


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR