PHP在多维数组中创建动态数组

Pet*_*ten -1 php arrays multidimensional-array

我想基于多维数组中的数字动态创建一个数组

这是代码

$meta_box = array(  
'id' => 'my-meta-box',
'title' => 'Custom Input Fields',
'page' => 'page',
'context' => 'normal',
'priority' => 'high',
'fields' => array (
                  array( //this array must be created dynamic 
                      'name' => 'Textarea',
                      'desc' => 'Enter big text here',
                      'id' => 'textarea', //id is textarea + number
                      'type' => 'textarea',
                      'std' => 'Default value'
                  )
            )
);
Run Code Online (Sandbox Code Playgroud)

我希望最后一个数组是由一个数字动态创建的,所以如果数字是2,那里必须有2个数组,名称相同,desc,type,str但是不同的ID.

这有可能是某种方式吗?

hak*_*kre 6

只需迭代一定数量的id即可动态添加它们:

$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);
Run Code Online (Sandbox Code Playgroud)

演示