I believe this is your array
$ids = array('0' => '7','1' => '8','2' => '9');
$names = array('0' => 'Name 1','1' => 'Name 2','2' => 'another name');
$marks = array('0' => '8','1' => '5','2' => '8');
$grade = array('0' => '4','1' => '2.5','2' => '4');
#New Keys
$keys = array("id","name","marks","grade");
A. You can use MultipleIterator
$final = array();
$mi = new MultipleIterator();
$mi->attachIterator(new ArrayIterator($ids));
$mi->attachIterator(new ArrayIterator($names));
$mi->attachIterator(new ArrayIterator($marks));
$mi->attachIterator(new ArrayIterator($grade));
foreach ( $mi as $value ) {
$final[] = array_combine($keys, $value);
}
var_dump($final);
B. You can use array_map
$final = array();
foreach ( array_map(null, $ids, $names, $marks, $grade) as $key => $value ) {
$final[] = array_combine($keys, $value);
}
var_dump($final);
Output
array
0 =>
array
'id' => string '7' (length=1)
'name' => string 'Name 1' (length=6)
'marks' => string '8' (length=1)
'grade' => string '4' (length=1)
1 =>
array
'id' => string '8' (length=1)
'name' => string 'Name 2' (length=6)
'marks' => string '5' (length=1)
'grade' => string '2.5' (length=3)
2 =>
array
'id' => string '9' (length=1)
'name' => string 'another name' (length=12)
'marks' => string '8' (length=1)
'grade' => string '4' (length=1)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…