2010-10-04 2 views
0

J'utilise un foreach pour obtenir des informations sur le niveau d'adhésion:Ajouter des entrées à une matrice de forme complexe en utilisant foreach

foreach ($aMemLevels as $aMemLevel) { 
    // Add 'mlevels' array to $aForm['inputs'] array 
    } 

J'ai une variable principale forme qui détiennent un grand tableau:

aform $

le formulaire est configuré comme ceci:

$aForm = array(
    'form_attrs' => array(
    'name'  => 'menu_access', 
    'action' => BX_DOL_URL_ROOT.'m/memberships/main_menu', 
    'method' => 'post', 
    'onsubmit' => 'saveMenuItem(this); return false;' 
    ), 

    'inputs' => array(
     'mlevels' => array(
      'type' => 'checkbox', 
      'caption' => 'Check to enable', 
      'name' => '1', 
      'value' => '1', 
     ), 
    ), 
); 

Je suis en train de trouver un moyen d'ajouter un tableau « de mlevels » au tableau $aForm['inputs'], pour chaque itération de aMemLevels $.

+0

Etes-vous sûr que cela fonctionne? '' mlevels [$ aMemLevel ['ID'] ''devrait générer une erreur de syntaxe (notez la partie' 'ID') – Lekensteyn

+0

Non, c'est juste pour la démo J'ai ajouté la note – tmartin314

+0

votre exemple de code est un peu incohérent – Hannes

Répondre

1

Voici un exemple étendu

foreach($aMemLevels as $level){ 
    $mlevel = array(): 
    $mlevel['mlevels'] = array(
      'type' => $level['type'], 
      'caption' => $level['caption'], 
      'name' => $level['name'], 
      'value' => $level['value'], 
     ); 
    $aForm ['inputs'][] = $mlevel; 

} 
+0

Merci cette méthode a travaillé. – tmartin314

+0

si $ level ressemble exactement à ce que j'ai fait dans mon exemple, vous pouvez le faire comme manos et juste faire un $ mlevel ['mlevels'] = $ level; – ITroubs

2

Vous voulez dire comme ça?

foreach ($aMemLevels as $aMemLevel) { 
    // Add 'mlevels' array to $aForm['inputs'] array 
    $aForm['inputs'][]=$aMemLevel; 
} 
Questions connexes