PHP 从数组创建新类型的数组



我有以下数据数组:

$data = array(
 0 => array(
   'firstname' => 'John',
   'lastname' => 'Doe'
 ),
 1 => array(
   'firstname' => 'Foo',
   'lastname' => 'Bar'
 )
)

Id 喜欢操纵它以最终得到这个数组:

$finalData = array(
 'firstname' => array('John','Foo'),
 'lastname' => array('Doe','Bar')
)

如何使用 PHP 完成此操作?我喜欢了解PHP数组方法,如果可以在这种情况下使用的话。

谢谢!

这对于像array_map这样的功能来说太专业了,而不会在脚上开枪。但是你可以通过foreach循环轻松做到这一点:

$finalData = array();
foreach ($data as $person) {
    $finalData['firstname'][] = $person['firstname'];
    $finalData['lastname'][] = $person['lastname'];
}

您必须循环遍历$data以分别收集名字和姓氏。不幸的是,没有标准的php函数可以执行"数组采摘"。

好吧,我不认为存在这样的东西,但我认为您应该阅读有关数组函数的文档

如果您没有找到任何东西,请自己制作一些东西(可能带有array_map),请回答您自己的问题。

这给出了你想要的;

$new_data = array();
foreach ($data as $d) {
    $keys = array_keys($d);
    foreach ($keys as $k) {
        $new_data[$k][] = $d[$k];
    }
}
print_r($new_data);

结果;

数组(    [名字] => 数组        (            [0] => 约翰            [1] => 福        )    [姓氏] => 数组        (            [0] => 母鹿            [1] => 巴        ))

相关内容

  • 没有找到相关文章

最新更新