Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 数组_combine with key只有数组1中的一个值和数组2中的多个值_Php_Arrays - Fatal编程技术网

Php 数组_combine with key只有数组1中的一个值和数组2中的多个值

Php 数组_combine with key只有数组1中的一个值和数组2中的多个值,php,arrays,Php,Arrays,我有两个阵列: 数组1我希望它是数组中的一个键(可以复制): Array ( [0] => id [1] => user_id [2] => firstname ) Array ( [0] => 363 [1] => 363 [2] => Omotayo ) Array ( [0] => 167

我有两个阵列:

数组1我希望它是数组中的一个键(可以复制):

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

Array
    (
        [0] => 167
        [1] => 167
        [2] => Shafraaz
    )
这是我的数组2,我想成为数组_combine中的值:

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

Array
    (
        [0] => 167
        [1] => 167
        [2] => Shafraaz
    )
现在的挑战是,我有两个阵列,第一个只有一个阵列,第二个阵列有两个内部阵列。我想要成为array_combine中的键(重复)的第一个数组。我的愿望输出如下:

    Array
    (
        [id] => 363
        [user_id] => 363
        [firstname] => Omotayo
    )
    Array
    (
        [id] => 167
        [user_id] => 167
        [firstname] => Shafraaz
    )
只是想知道有没有办法完成这项任务?谢谢你的建议


谢谢

为什么不在
$array2
的每个内部数组上运行array\u combine呢

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

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

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

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

参考这个不确定你的意思是什么Hemnath??你能解释更多细节吗?这是preg_匹配的输出吗?没有nhahtdh,只有我从csv数组中提取的两个数组,并希望将它们组合在一起。你确定下一个数组中的元素数相等吗?我以前尝试过,但它抛出了一个错误:警告:array_combine():两个参数的元素数应该相等。变量的确切值是多少?比如$array1=…,$array2=…,等等,根据你的问题,你得到这个原因的唯一原因是你是否在迭代$array2的各个元素而不是每个外部数组?下面是我的两个数组$array1=数组(id,user_id,firstname)$array2=数组([0]=>数组('363','363','Omotayo'),[1]=>数组('167','167','Shafraaz'))非常奇怪,它在我的环境中失败,循环:/我的PHP版本是5.5.12。这是个问题吗?