合并多个关联数组关联数组的单个阵列 [英] Merge multiple associative arrays to a single array of associative arrays

查看:130
本文介绍了合并多个关联数组关联数组的单个阵列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有4个关联数组按如下:

I have 4 associative arrays as per below:

$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'
);

我想将它们合并到一个数组,其中包含关联数组按如下:

I want to "merge" them to a single array, containing associative arrays as per below:

$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'
   )
);

我是一个新的PHP开发人员,而且不知道如何做到这一点。您的帮助将非常AP preciated。谢谢

I am a new PHP developer and have no idea how to accomplish this. Your help will be much appreciated. Thank you

推荐答案

我相信这是你的阵列

$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 。您可以使用 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);

。您可以使用 array_map

$final = array();
foreach ( array_map(null, $ids, $names, $marks, $grade) as $key => $value ) {
    $final[] = array_combine($keys, $value);
}
var_dump($final);

输出

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)

这篇关于合并多个关联数组关联数组的单个阵列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆