IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Modifier des valeurs d'un tableau associatif dans une boucle


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 59
    Points : 47
    Points
    47
    Par défaut [Tableaux] Modifier des valeurs d'un tableau associatif dans une boucle
    Bonjour à tous,

    J'aimerai savoir comment modifier des valeurs d'un tableau associatif.
    Je parcours le tableau avec foreach et je souhaite, selon certaines conditions, modifier des valeurs de ce tableau. Le problème est que le manuel PHP précise ceici :

    De plus, notez que foreach travaille sur une copie du tableau spécifié, et pas sur le tableau lui-même. Par conséquent, le pointeur de tableau n'est pas modifié, comme il le serait avec le fonction each , et les modifications faites dans le tableau ne seront pas prises en compte dans le tableau original.

    L'utilisation d'un while et des fonctions list et each (while (list($key, $value) = each ($arr)) par exemple) ne fonctionne pas non plus car list n'accepte que des tableaux d'indices numériques....

    Pouvez-vous m'aider ?

    Merci par avance

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    foreach ne travail que sur une copie du tableau, OK, mais les clées, elles, elles peuvent être récupérées

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    foreach($myArray as $k => $v) $myArray[$v] = $k;
    je pense que tu comprendras vite ce que fait ce script
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
    	$table = array();
    	$table['zero'] = 'zero';
    	$table['un'] = 'first';
    	$table['deux'] = 'second';
    	$table['trois'] = 'third';
    	$table['quatre'] = 'fourth';
     
    	print_r($table);
    	echo '<br>';
     
    	foreach ($table as $key => $valeur) {
    		if ($valeur == 'second') {
    			$table[$key] = 'deuxième';
    		}
    	}
     
    	print_r($table);
    ?>
    Et hop, on modifie le tableau de départ


    Edit : oops, swoög avait donné un gros indice entre temps ...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 59
    Points : 47
    Points
    47
    Par défaut
    Bien vu !

    Ca marche niquel, merci à vous deux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 25/08/2007, 09h45
  2. Réponses: 8
    Dernier message: 20/04/2007, 15h18
  3. Réponses: 4
    Dernier message: 20/03/2007, 19h28
  4. Réponses: 5
    Dernier message: 14/02/2006, 18h52
  5. [Tableaux] récuperer des valeurs d un tableau
    Par student007 dans le forum Langage
    Réponses: 7
    Dernier message: 11/02/2006, 22h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo