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 :

Array: Ajouter une valeur à un endroit précis


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut Array: Ajouter une valeur à un endroit précis
    Bonjour,

    J'ai un tableau de la forme:
    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
    20
    21
    22
    23
    24
    25
    26
    27
     
    array (size=9)
      0 => 
        array (size=2)
          'path' => string '../img/elite/extremites/extr52-54-blanc.bmp' (length=43)
          'qte' => string '1' (length=1)
      1 => 
        array (size=2)
          'path' => string '../img/elite/obturateurs/obt_45_blanc.bmp' (length=41)
          'qte' => string '1' (length=1)
      2 => 
        array (size=2)
          'path' => string '../img/elite/pc/pcn_90_BLANC.bmp' (length=32)
          'qte' => string '2' (length=1)
      3 => 
        array (size=2)
          'path' => string '../img/pulti/ralblanc.jpg' (length=25)
          'qte' => string '1' (length=1)
      4 => 
        array (size=2)
          'path' => string '../img/elite/domino.jpg' (length=23)
          'qte' => string '1' (length=1)
      5 => 
        array (size=2)
          'path' => string '../img/elite/pc/pcd_90_BLANC.bmp' (length=32)
          'qte' => string '2' (length=1)
    ...
    Je souhaite rajouter un array (path et qte) en position 3, et donc décaler le reste. Comment puis-je faire svp?
    Je sais qu'il existe des fonctions pour ça, mais je ne trouve pas.

    Merci d'avance,

    Xavier

  2. #2
    Membre émérite Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 541
    Par défaut
    Bonjour,
    le tableau final, il doit ressembler à quoi ?

  3. #3
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    A ça:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    
    array (size=9)
      0 => 
        array (size=2)
          'path' => string '../img/elite/extremites/extr52-54-blanc.bmp' (length=43)
          'qte' => string '1' (length=1)
      1 => 
        array (size=2)
          'path' => string '../img/elite/obturateurs/obt_45_blanc.bmp' (length=41)
          'qte' => string '1' (length=1)
      2 => 
        array (size=2)
          'path' => string '../img/elite/pc/pcn_90_BLANC.bmp' (length=32)
          'qte' => string '2' (length=1)
    
      3 => 
        array (size=2)
          'path' => string 'NOUVELLE VALEUR' (length=32)
          'qte' => string 'NOUVELLE VALEUR' (length=1)
    
      4 => 
        array (size=2)
          'path' => string '../img/pulti/ralblanc.jpg' (length=25)
          'qte' => string '1' (length=1)
      5 => 
        array (size=2)
          'path' => string '../img/elite/domino.jpg' (length=23)
          'qte' => string '1' (length=1)
      6 => 
        array (size=2)
          'path' => string '../img/elite/pc/pcd_90_BLANC.bmp' (length=32)
          'qte' => string '2' (length=1)
    ...

  4. #4
    Membre émérite Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 541
    Par défaut
    Dans ce cas, simplement
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $tableau[3] = array('path' => 'NOUVELLE VALEUR', 'qte' => 'NOUVELLE VALEUR');

    PS: c'est plutôt la position 4

  5. #5
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    Excuse moi, mais ta solution écrase le contenu sur l'index 3. Je souhaite me placer entre 2.

  6. #6
    Membre émérite Avatar de Willy_k
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    541
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 541
    Par défaut
    Alors un truc comme ça avec array_splice http://php.net/manual/fr/function.array-splice.php

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    array_splice($tableau, 3, 0, array(array('path' => 'valeur', 'qte' => 'valeur')));

  7. #7
    Membre éprouvé
    Avatar de Asdorve
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 336
    Par défaut
    je viens de trouver une fonction toute prête, si ça peut aider;

    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
     
     
    function insert_i($tab,$valeurInsert,$indice)
    {
    		$nouveauTab = array();
     
    		foreach($tab as $cle=>$valeur)
    		{
    		   if ($cle == $indice)
    				array_push($nouveauTab,$valeurInsert);
     
    		   array_push($nouveauTab,$valeur);
    		}
     
    	   return $nouveauTab;
    }
    Merci pour ton aide.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/03/2015, 19h33
  2. Réponses: 14
    Dernier message: 12/06/2008, 14h58
  3. VBA : ajouter une valeur dans une liste déroulante
    Par remi59 dans le forum Access
    Réponses: 4
    Dernier message: 22/12/2005, 10h01
  4. ajouter une valeur dans une combobox
    Par decour dans le forum Access
    Réponses: 1
    Dernier message: 17/10/2005, 10h58
  5. Popup ajoutant une valeur a un champ
    Par kalan dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/09/2005, 15h39

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