PHP create dynamic array in a multidimensional array

前端 未结 3 916
清酒与你
清酒与你 2021-01-29 09:36

I want to dynamic create an array based on a number inside a multidimensional array

here is the code

$meta_box = array(  
\'id\' => \'my-meta-box\',
         


        
3条回答
  •  灰色年华
    2021-01-29 09:48

    Just add them dynamically by iterating over the number of ids:

    $meta_box = array
    (
        'id' => 'my-meta-box',
        'title' => 'Custom Input Fields',
        'page' => 'page',
        'context' => 'normal',
        'priority' => 'high',
        'fields' => array ()
    );
    
    
    $dynamicNumber = 2;
    $idPrefix = 'textarea';
    assert('$dynamicNumber > 0');
    $dynamicIds = range(1, $dynamicNumber);
    
    $fields = &$meta_box['fields'];
    foreach($dynamicIds as $id)
    {
        $fields[] = array( //this array must be created dynamic 
                          'name' => 'Textarea',
                          'desc' => 'Enter big text here',
                          'id' => sprintf('%s%d', $idPrefix, $id), //id is textarea + number
                          'type' => 'textarea',
                          'std' => 'Default value'
                      );
    }
    unset($fields);
    

    Demo

提交回复
热议问题