Aller au contenu

Modifier un tableau : [0][key] vers [key][0].


Sujets conseillés

Posté (modifié)

Existe-t-il une fonction built-in afin que :

$array[0]['prenom']='Jacques';
$array[0]['nom']='Chiraqk';
$array[1]['prenom']='Lionel';
$array[1]['nom']='Jospain';

devienne :

$array['prenom'][0]='Jacques';
$array['prenom'][1]='Lionel';
$array['nom'][0]='Chiraqk';
$array['nom'][1]='Jospain';

?

Merci beaucoup !

Modifié par osiris`
Posté

Bonjour,

Je pense qu'array_flip peut faire l'affaire, surtout s'il n'y a pas de valeurs en double...

Sarc

Posté

flip_array ?

Rien à voir (ou alors j'ai rien compris) .... mais c'est pas bien difficile à faire (un truc du genre) :

$nouveau_tableau=permut($tableau);

avec

function permut($tab)
{
foreach ($tab as $key=>$line)
 foreach ($line as $souskey=>$val) $tab2[$souskey][$key]=$val;
return $tab2;
}

Posté

Bonjour,

array_flip ne s'occupe que basculer les valeurs et le clés et non de basculer 2 clés dans un tableau multidimensionnels...

Par contre ce bout de code fera l'affaire je pense (pas testé...il est dans les commentaires de array_flip...comme quoi, la piste était bonne) :

$array = array( /* Ton tableau */ );
$arreglo_aux = array();
foreach( $arreglo as $keymaster => $value )
  foreach( $value as $key => $elemento  )
      $arreglo_aux[$key][$keymaster] = $elemento;

C'est très simple, cela ne prends pas en compte les valeurs identiques, cela ne fonctionne que pour des tableaux à deux dimensions... bref à toi d'améliorer dans le sens que tu souhaites.

EDIT : Grillé... :P

Posté (modifié)

Merci beaucoup !

J'avais déja crée une telle fonction mais j'esperais que PHP offre une telle fonction, plus puissante/rapide.

EDIT : pensez-vous qu'il soit utile d'unset les variables à la fin d'une fonction ?

Modifié par osiris`

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...