数组有一个数组和一个非数组元素[关闭]

I have an array like this

$data = array(
'class'=>'1',
'class_section'=>array('a','b','c'),
'class_fee'=>'500');

I want that this array become

$data = array(
array('class'=>'1', 'class_section'=>'a', 'class_fee'=>500),
array('class'=>'1', 'class_section'=>'b', 'class_fee'=>500),
array('class'=>'1', 'class_section'=>'c', 'class_fee'=>500)
);

I want that this array become

$data = array(
array('class'=>'1', 'section'=>'a', 'fee'=>500),
array('class'=>'1', 'section'=>'b', 'fee'=>500),
array('class'=>'1', 'section'=>'c', 'fee'=>500)
);

You can do it by many differnt ways.One way to do it with foreach() loop,

<?php
$data = array(
'class'=>'1',
'class_section'=>array('a','b','c'),
'class_fee'=>'500'
);

$len = count($data);
for($i=0;$i<$len;$i++){
 foreach($data as $k=>$v){
    if(is_array($v)){
        $result[$i][$k] = $v[$i];
    }else{
        $result[$i][$k] = $v;
    }
 }
}
print_r($result);
?>

WORKING DEMO: https://3v4l.org/N4YvD

You can make it with foreach:

$data = [
    'class'=>'1',
    'class_section'=> ['a','b','c'],
    'class_fee'=>'500'
];

$newArray = [];
foreach($data['class_section'] as $section) {
    $newArray[] = [
        'class' => $data['class'],
        'section' => $section,
        'fee' => $data['class_fee']
    ];
}