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 :

changer les clés d'un tableau associatif !!


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut changer les clés d'un tableau associatif !!
    Bonjour à tous,

    j'utilise actuellement des fichiers de configuration (un fichier utilisateur et un fichier par défaut) pour mon application.

    - Mon fichier de config par defaut donne la liste de TOUS les champs possibles associés à leur valeur par défaut.

    - Le fichier de config utilisateur spécifie un certain nombre de champs avec leur valeur.

    Le but est simple: à partir de mes deux tableaux de configuration, je souhaite en créer un seul avec comme valeur : soit les champs spécifiés par l' utilisateur, soit les champs par défaut (dans le cas ou le champ n'est pas spécifié par lutilisateur).

    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
     
                //array config par default
     
                [label] => ""
                [type] => input
                [rules] => ""
                [prep] => ""
                [display] => 1
                [thumbs] => ""
     
                //array config utilisateur
     
                [label] => "email"
                [type] => input
                [rules] => "required"
     
                // array souhaité
     
                [label] => "email"
                [type] => input
                [rules] => "required"
                [prep] => ""
                [display] => 1
                [thumbs] => ""
    Merci pour votre immense considération

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Utilise array_merge et prenant soin de passer en dernier le tableau de l'utilisateur
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Toutes les fonctions de tableaux sont là :
    http://www.php.net/manual/fr/book.array.php
    Et dans ton cas, array_merge() me semble tout indiqué.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    merci beaucoup, array_merge est en effet tout indiqué.

    J'avais exploré la doc sans succès à essayer de comprendre comment faire ca avec array push :-D.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Me revoilà deja.

    Maintenant, j'ai besoin de transformer mon bel array en quelque chose de plus clair et plus simple, pour avoir un tableau 2 dimensions parfait :

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
     
    // transformer ca
    Array
    (
        [title] => Array
            (
                [label] => Date
                [type] => hidden_last
                [rules] => 
                [prep] => 
                [display] => 1
                [thumbs] => 
                [value] => date
            )
     
        [body] => Array
            (
                [label] => Title
                [type] => input
                [rules] => required
                [prep] => htmlentities
                [display] => 1
                [thumbs] => 
            )
     
    )
     
    // en ca
     
    Array
    (
        Array
            (
                [name] => title
                [label] => Date
                [type] => hidden_last
                [rules] => 
                [prep] => 
                [display] => 1
                [thumbs] => 
                [value] => date
            )
     
        Array
            (
                [name] => Body
                [label] => Title
                [type] => input
                [rules] => required
                [prep] => htmlentities
                [display] => 1
                [thumbs] => 
            )
     
    )
    Comment faut-il procéder ?

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Septembre 2002
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2002
    Messages : 37
    Points : 26
    Points
    26
    Par défaut
    a ta place je parcourerai mon tableau initial avec un foreach et constituerai un nouveau tableau en mettant les clés du premier dans un nouveau label 'name' du second.

    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
    $tableau_init = array ('title' => array( 
    						'label' => 'Date',
    						'type' => 'hidden_last',
    						'rules' => '',
    						'prep' => '',
    						'display' => 1,
    						'thumbs' => '',
    						'value' => 'date'),
    				'body' => array( 
    						'label' => 'Title',
    						'type' => 'input',
    						'rules' => 'required',
    						'prep' => 'htmlentities',
    						'display' => 1,
    						'thumbs' => '',
    						'value' => ''));
     
    $new_tableau = array();
    foreach($tableau_init as $key=>$tab_values) {
    	$array_temp = array();
    	$array_temp['name'] = $key;
    	foreach($tab_values as $key_value => $value) {
    		$array_temp[$key_value] = $value;
    	}
    	array_push($new_tableau,$array_temp);
    }

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    merci beaucoup maheu ca repond à mon besoin.

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

Discussions similaires

  1. Changer les indices d'un tableau associatif
    Par identifiant_bidon dans le forum Langage
    Réponses: 2
    Dernier message: 25/06/2011, 19h16
  2. [PHP 5.0] renommer les clés d'un tableau associatif
    Par stomerfull dans le forum Langage
    Réponses: 1
    Dernier message: 12/01/2010, 14h27
  3. Réponses: 1
    Dernier message: 15/03/2006, 16h58
  4. [javascript] récupérer les "clés" d'un tableau
    Par LE NEINDRE dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/02/2006, 10h13
  5. Réponses: 2
    Dernier message: 04/02/2005, 13h23

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