tableau associatif et key

Eléphanteau du PHP | 23 Messages

17 juil. 2007, 02:46

Bonjour, j'essaie d'extraire de mon tableau associatifs les éléments ou la valeur=1.
Le but est d'ensuite contenir le tout dans une variable.

Si mon tableau est monté comme ceci
$accessoires["table_avant_acajou"]=$_POST['table_avant_acajou'];
$accessoires["table_avant_ovale"]=$_POST['table_avant_ovale'];
$accessoires["table_coin_arriere"]=$_POST['table_coin_arriere'];
$accessoires["table_ronde_arriere"]=$_POST['table_ronde_arriere'];
$accessoires["tapis_bouton_pression"]=$_POST['tapis_bouton_pression'];
Pour extraire tout les éléments qui égalent 1, j'ai trouvé la fonction key, dont le manuel démontre cet exemple :
while ($choix = current($accessoires)) {
    if ($choix == 1) {
        echo key($accessoires) . '<br />';
    }
    next($accessoires);
}
Par contre ce script fait afficher les éléments, sauf que ce que je veux c'est les inclure dans une variable... pour que, exemple la variable $option=table_ronde_arrière, tapis bouton pression;

En fait tout ce que je veux c'est que les éléments passés par POST qui égale 1 se retrouve dans la variable $option pour que je puisse uploader celle ci dans ma base de données.

Merci

d0m
Mammouth du PHP | 1141 Messages

17 juil. 2007, 08:16

hello,

pas vraiment besoin de fonction spécifique ici.

Reprenons ce que tu veux faire :

Tu veux parcourir le tableau $_POST. Pour cela déjà tu peux utiliser un foreach.
Ensuite en le parcourant tu veux mettre dans un tableau les clés dont les valeurs sont égales à 1. Il va donc falloir comparer la valeur à 1 et si elle est égale, retenir la clé.
//tableau des clés retenues
$options= array();

//parcours de $_POST
foreach($_POST as $cle => $valeur){
   if($valeur==1){
      $options[] = $cle; 
   }
}

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

17 juil. 2007, 09:41

Modération :
Vakarm, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

18 juil. 2007, 03:37

Merci, je n'y manquerai pas la prochaine fois

Eléphanteau du PHP | 23 Messages

18 juil. 2007, 03:39

Je vais même penser à me logger :P