php - suma - Fusionar matrices asociativas múltiples a una única matriz de matrices asociativas
propiedades asociativa dela suma de matrices (1)
Creo que esta es tu matriz
$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 Puedes usar 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. Puedes usar array_map
$final = array();
foreach ( array_map(null, $ids, $names, $marks, $grade) as $key => $value ) {
$final[] = array_combine($keys, $value);
}
var_dump($final);
Salida
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)
Tengo 4 matrices asociativas de la siguiente manera:
$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''
);
Quiero "fusionarlos" en una sola matriz, que contiene matrices asociativas como se muestra a continuación:
$data = array(
array(
''id'' => ''7'' ,
''name'' => ''Name 1'' ,
''marks'' => ''8'',
''grade'' => ''4''
),
array(
''id'' => ''8'' ,
''name'' => ''Name 2'' ,
''marks'' => ''5'',
''grade'' => ''2.5''
),
array(
''id'' => ''9'' ,
''name'' => ''another name'',
''marks'' => ''8'',
''grade'' => ''4''
)
);
Soy un nuevo desarrollador de PHP y no tengo idea de cómo lograr esto. Su ayuda será muy apreciada. Gracias