将数据作为子数组推送到一个数组中

时间:2016-07-18 11:42:03

标签: php arrays

我知道这里有几次问过,但是有一个高级问题。

我有一个数组$data,我需要在foreach

时得到这个结构
$data[0] => [
    'value1' => string(x) "some data",
    'value2' => string(x) "some other data"
];

$data[1] => ... ...

我知道无法使用数组键执行array_push也尝试过代码,但我有两个大数组。我只需要一个带有小子阵列的大阵列

我的代码

    $authors['email'] = array();
    $authors['name'] = array();
    foreach (json_decode($response)->response->docs AS $docs)
    {
        $articleAuthors = explode(', ', $docs->authors);
        $i=0;
        foreach ($docs->email as $email) {
          array_push($authors['email'], $email);
            array_push($authors['name'], $articleAuthors[$i]);
            ++$i;
        }
    }

2 个答案:

答案 0 :(得分:2)

试试这个,得到一个带有小子阵列的数组

$authors = array();
#...
foreach($docs->email as $email){
   array_push($authors, array('email'=>$email,'name'=>$articleAuthors[$i]));
   ++$i;
}
#...

答案 1 :(得分:0)

我只是找到了解决方案,上面的代码是制作两个大数组,只是添加了下面的行。

view

$ data = array_combine($ authors [' name'],$ authors [' email']);