Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1551 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Déplacer une clé dans un tableau multidimensionnel

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Déplacer une clé dans un tableau multidimensionnel

n°2119283
mdc888
01010100 01101111 01110101 011
Posté le 03-01-2012 à 20:11:28  profilanswer
 

Salut à tous et bonne année :)
 
Je cherche à créer une fonction qui me permettra de déplacer un ensemble clé/valeur au sein d'un tableau multidimensionnel.
L'idée c'est de me servir de ces tableaux pour afficher un menu, sans base de données, de manière simple et rapide.
 
Bref, voici un 1er jet de fonction :
 
Code PHP :
 


function array_remove( &$array, $key )
{
   unset($array[$key]);
}
 
 
function ModifCurrent ($tab, $current, $way)
 
 {
   
   
   
  foreach ($tab as $cle=>$valeur)  
   
  {
   
   
   if (!is_array($valeur))
   
   {
   
    if (($current == $cle) && ($way == 'up')) // Si on l'a trouvé et que on veut le déplacer vers le haut
     
    {
     
     array_remove( $tab, $cle ); // on le détruit  
     
     prev($tab); // on remonte
     
     prev($tab); // on remonte une 2e fois
     
     // DEBUG //
     
     $temp = current($tab);
     
     print '<br>Valeur temp : '.$temp.'<br>';
     
     
     //$tableau[$current] = $valeur;
     
    } else {
     
     print ' '; // non terminé
     
    }
   
   } else {
   
     
    ModifCurrent ($valeur, $current, $way);
     
   }
     
   
  } // fin foreach ge
   
   
  print_r ($tab);
   
   
 }
 
// Utilisation
 
if ((!empty($way)) && (!empty($current))) // ?current=who-owns-the-data&way=up
 
  ModifCurrent ($Menu, $current, $way);
 
// Tableau
 
$Menu = array  
 (
  'introduction' => array(),
   
  'cloud-computing-in-30-sec' => array(
   'what-is-cloud-computing' =>'what-is-cloud-computing',
   'types-of-cloud' => 'types-of-cloud',  
   'why-use-clouds' => 'why-use-clouds'
   ),
   
  'how-do-clouds-work' => array(
         'virtualisation' => 'virtualisation'),
   
  'clouds-in-IT-history' => array (),
   
  'the-big-issues' => array(
   'are-clouds-green' => 'are-clouds-green',
   'are-clouds-safe' => 'are-clouds-safe',
   'where-is-my-data-being-stored' => 'where-is-my-data-being-stored',
         'who-owns-the-data' => 'who-owns-the-data'
   ),
   
  'clouds-and-grids' => array(
   'clouds-and-grids-compared' => 'clouds-and-grids-compared',
   'cloudy-grids' => 'cloudy-grids',
   'future-directions' => 'future-directions'
   ),
   
  'cloud-powered-projects' => array(),
   
  'fin' => array()
   
 );
 
 


 
Mais mon print current ne renvoie rien (vide).
J'ai comme l'impression que mon pointeur dans le tableau n'est pas au bon endroit, pourtant il devrait suivre le foreach :/
 
Je galère un peu, et j'aurais besoin de votre aide... Merci ! ;)

mood
Publicité
Posté le 03-01-2012 à 20:11:28  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Déplacer une clé dans un tableau multidimensionnel

 

Sujets relatifs
Python - Ajout d'éléments dans un tableau de dimension >2[Excel] tableau à "2 colonnes"
[PERL] Supprimer valeure d'un tableau contenant des hash[PERL] plusieurs tie(tableau)
[algo] Toutes les combinaisons d'un tableau à 2 dimensions?tableau vbs
Tableau à taille défini par l'user au runtimeVariable tableau / Range("A1:A" & i) = montab - ne fonctionne pas
[RESOLU] Recuperer tableau associatif de ma sessionproblème exercice tableau
Plus de sujets relatifs à : Déplacer une clé dans un tableau multidimensionnel


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR