1

I want create an array like this from input field.

$array = array(
    array (
        'menu_primary' => 'Primary 1',
        'menu_secondary' => array( 'Secondary 1', 'Secondary 2', 'Secondary N' ),
    ),

    array (
        'menu_primary' => 'Primary 2',
        'menu_secondary' => array( 'Secondary 1', 'Secondary 2', 'Secondary N' ),
    ),

    array (
        'menu_primary' => 'Primary N',
        'menu_secondary' => array( 'Secondary 1', 'Secondary 2', 'Secondary N' ),
    ),
);

I try this method, but not working fine.

<input type='text' name='front_page_options_settings[menu_primary][menu_primary][]' value=''>
    <input type='text' name='front_page_options_settings[menu_primary][menu_primary][menu_secondary][]' value=''>
    <input type='text' name='front_page_options_settings[menu_primary][menu_primary][menu_secondary][]' value=''>

    <input type='text' name='front_page_options_settings[menu_primary][menu_primary][]' value=''>
    <input type='text' name='front_page_options_settings[menu_primary][menu_primary][menu_secondary][]' value=''>
    <input type='text' name='front_page_options_settings[menu_primary][menu_primary][menu_secondary][]' value=''>

Please help.

Bluetree
  • 1,324
  • 2
  • 8
  • 25
Opsional
  • 543
  • 4
  • 14

1 Answers1

0

You can use for loop and add the key of primary to [] instead.

<?php foreach($array as $menu_arrays): ?>
    <?php foreach($menu_arrays as $pri_key => $menu_array): ?>

        <!-- Primary Menu -->
        <input type='text' name='front_page_options_settings[menu_primary][<?php echo $key; ?>]' value='<?php echo $menu_array['menu_primary']?>'>

        <!-- Secondary Menu -->
        <?php foreach($menu_secondary as $sec_key => $secondary): ?>
        <input type='text' name='front_page_options_settings[menu_primary][<?php echo $key; ?>][]' value='<?php echo $secondary; ?>'>
        <?php endforeach;?>
    <?php ?>
<?php ?>    

You can just remove the echo in value if you don't want it. For getting the of array inputs. You can refer to this Html/PHP - Form - Input as array

Bluetree
  • 1,324
  • 2
  • 8
  • 25