Transformer un tableau en plusieurs tableau

cs_Djodu69 Messages postés 43 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 29 avril 2010 - 28 avril 2010 à 16:22
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 - 29 avril 2010 à 11:51
Bonjour,

J'essaye en vain de transformer un tableau en plusieurs tableaux je m'explique :

J'ai ce tableau (variable en fonction d'un formulaire) :
Array
(
[id] => 70
[field_type_1] => text
[field_name_1] => name
[field_defaultvalue_1] => value
[field_position_1] => 10
[field_type_3] => text
[field_name_3] => name2
[field_defaultvalue_3] =>
[field_position_3] =>
[field_type_4] => text
[field_name_4] => name4
[field_defaultvalue_4] =>
[field_position_4] =>
[field_required_4] => required
)


A partir de ce tableau j'aimerai avoir plusieurs sous tableau :

1er
Array
(
[field_type] => text
[field_name] => name
[field_defaultvalue] => value
[field_position] => 10
)

2eme
Array
(
[field_type] => text
[field_name] => name2
[field_defaultvalue] =>
[field_position] =>
)

3eme
Array
(
[field_type] => text
[field_name] => name4
[field_defaultvalue] =>
[field_position] =>
[field_required] => required
)

Mon problème est que je sais pas comment décomposer le tableau en sous tableau, en changeant les intitulés des index qui peuvent être différent eux même à chaque fois.

Si quelqu'un peut m'éclairer.

Merci par avance,

Djo

3 réponses

kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
28 avril 2010 à 21:04
Salut,

D'après ce que je vois une fonction sera nécessaire.

... mais peut être est il utile de se poser la question suivante :
Ne puis je pas agir à la source afin de rendre le tableau reçu plus simple à mettre en oeuvre ?

Il y a de grandes chances que ce soit le cas, en récupérant par exemple un tableau du type :
array(
[field_type][0] => text, [field_type][1] => text, ...
[field_name][0] => name, [field_name][0] => name2, ...
[field_defaultvalue][0] => value, [field_defaultvalue][1] => , ...
[field_position][0] => 10, [field_position][1] => , ...
[field_required][0] => , [field_required][1] => , ...
);

A quoi ressemble ton formulaire ?

Cordialement,


Kohntark -
0
cs_Djodu69 Messages postés 43 Date d'inscription lundi 17 décembre 2007 Statut Membre Dernière intervention 29 avril 2010
29 avril 2010 à 10:50
Mon formulaire est en fait un formulaire qui a pour but de créer des champs de formulaires.
J'ai 5 champs :
[field_type] => text
[field_name] => name4
[field_defaultvalue] =>
[field_position] =>
[field_required] => required

Et je rajoute un suffixe "_NUM" à chaque champs à mesure que j'ajoute un nouveau champ.

A partir de ces données j'aimerai générer un Zend Form. Il faut donc que je décompose à chaque fois pour pouvoir créer élément par élément.
0
TychoBrahe Messages postés 1309 Date d'inscription samedi 31 janvier 2009 Statut Membre Dernière intervention 5 juin 2013 12
29 avril 2010 à 11:51
Salut,

Et je rajoute un suffixe "_NUM" à chaque champs à mesure que j'ajoute un nouveau champ.

Rajoute plutôt "[]" à la place de "_NUM", ainsi tu auras un tableau bien découpé da base.

Exemple :
array(3) {
  ["field_type"]=>
  array(3) {
    [0]=>
    string(4) "plop"
    [1]=>
    string(4) "toto"
    [2]=>
    string(6) "cheval"
  }
  ["field_name"]=>
  array(3) {
    [0]=>
    string(4) "plip"
    [1]=>
    string(4) "titi"
    [2]=>
    string(9) "casquette"
  }
  ["field_defaultvalue"]=>
  array(3) {
    [0]=>
    string(4) "plap"
    [1]=>
    string(4) "tata"
    [2]=>
    string(6) "jockey"
  }
}
0
Rejoignez-nous