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 :

Transformer un tableau


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut Transformer un tableau
    Bonjour,
    Je voudrais trouver le moyen le plus rapide à l'exécution pour transformer le tableau suivant:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
    $array1 = 
    	[0=>
    		[0=>'FIRME', 1=>'ASSO']
    	],
    	[1=>
    		[0=>'Monsieur X', 1=>'Madame Y']
    	],
    	[2=>
    		[0=>'Salarié', 1=>'Bénévole']
    	];	
    ?>
    en ce nouveau tableau
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $array2 = 
    	[0=>
    		[0=>'FIRME', 1=>'Monsieur X', 2=>'Salarié']
    	],
    	[1=>
    		[0=>'ASSO', 1=>'Madame Y', 2=>'Bénévole']
    	];
    ?>

  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,
    Tes tableaux de départ et celui souhaité ne sont pas corrects syntaxiquement....

  3. #3
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    Oui, je suis allé un peu vite. Les voilà rectifiés:
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    $array1 = [
    	0=>
    		[0=>'FIRME', 1=>'ASSO'],
    	1=>
    		[0=>'Monsieur X', 1=>'Madame Y'],
    	2=>
    		[0=>'Salarié', 1=>'Bénévole']
    ];
    $array2 = [
    	0=>
    		[0=>'FIRME', 1=>'Monsieur X', 2=>'Salarié'],
    	1=>
    		[0=>'ASSO', 1=>'Madame Y', 2=>'Bénévole']
    ];

  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 ton premier ton tableau les clés ne sont pas obligatoires donc ça peut être simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $array1 = [
    	['FIRME', 'ASSO'],
    	['Monsieur X', 'Madame Y'],
    	['Salarié', 'Bénévole']
    ];
    Maintenant si tu as une version de php d'au moins 5.5 tu peux utiliser ça pour avoir le resultat escompté
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $array2 = [array_column($array1, 0), array_column($array1, 1)];

  5. #5
    Membre éprouvé
    Homme Profil pro
    Ingénieur en électrotechnique retraité
    Inscrit en
    Décembre 2008
    Messages
    1 718
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur en électrotechnique retraité

    Informations forums :
    Inscription : Décembre 2008
    Messages : 1 718
    Par défaut
    Je savais que les clés n'étaient pas obligatoires mais elles y sont.
    Ta solution ne fonctionne pas pour un nombre quelconque de colonnes. J'ai écrit ce qui suit mais je crains que le temps d'exécution soit long avec un gros tableau.
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    		$iMax = count($contents);
    		$labels = [];
    		for ($i=0; $i<$iMax; $i++) {
    			$labels[] = array_column($contents, $i);
    		}

  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
    Effectivement celui que j'ai proposé suppose que les sous-tableaux contiennent 2 éléments ..
    Sinon que contient $content ?

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

Discussions similaires

  1. Transformer un Tableau de String en seul une string
    Par jojob dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 31/05/2011, 14h44
  2. Transformer un tableau de int en tableau Integer ?
    Par n!co dans le forum Collection et Stream
    Réponses: 9
    Dernier message: 09/01/2007, 10h09
  3. [VBA-E] - transformé un tableau excel en objet
    Par jimbololo dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 03/06/2006, 16h48
  4. [XHTML 1.0] Transformer mon tableau en div
    Par stailer dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 29/05/2005, 19h50
  5. [Collections] Transformer un tableau de données en une chaîne
    Par NATHW dans le forum Collection et Stream
    Réponses: 12
    Dernier message: 03/06/2004, 17h44

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