带key的array_combine只有一个来自数组1,多个来自数组2

时间:2015-07-03 02:59:38

标签: php arrays

我有2个阵列:

数组1我希望它在array_combine中是一个键(重复没问题):

Array
    (
        [0] => id
        [1] => user_id
        [2] => firstname
    )

这是我的数组2,我想成为array_combine中的值:

Array
    (
        [0] => 363
        [1] => 363
        [2] => Omotayo
    )

Array
    (
        [0] => 167
        [1] => 167
        [2] => Shafraaz
    )

现在挑战是,我有2个数组,第一个只有一个数组,第二个数组有2个内部数组。我想成为array_combine中键(重复)的第一个数组。我的愿望输出如下:

    Array
    (
        [id] => 363
        [user_id] => 363
        [firstname] => Omotayo
    )
    Array
    (
        [id] => 167
        [user_id] => 167
        [firstname] => Shafraaz
    )

只是想知道有没有办法实现这个任务?赞赏任何建议!!

由于

2 个答案:

答案 0 :(得分:3)

为什么不在$array2的每个内部数组上运行array_combine?

$final = array();
foreach($array2 as $array) {
    $final[] = array_combine($array1, $array);
}

这将$final作为具有正确键/值对的预期数组。

答案 1 :(得分:1)

请测试此方法,看看它是否适用于您的环境:

$keys = array("id","user_id","firstname");
$values = array(
    array(363,363,"Omotayo"),
    array(167,167,"Shafraaz")
);
$out = array();
foreach($values as $ukey=>$user)
{
    foreach($user as $key=>$data)
    {
        $values[$ukey][$keys[$key]] = $data;
        unset($values[$ukey][$key]);
    }
}
print_r($values);