更改多维数组php中的内键 [英] change inner key in multidimensional array php

查看:79
本文介绍了更改多维数组php中的内键的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想问一下如何替换多维数组中的内键. 我有一个多维数组:

I want to ask about how to replace inner key in a multidimensional array. I have an multidimensional array :

$array1=
array(array(5000, 6,  325,  3,  3,  517000000),
      array( 20000,  5,  217,  5,  3,  1692000000)
      );

第二个数组是

$array2=array(1,2,3,4,5,6);

我希望新数组是

Array(
[0] => Array
    (
        [1] => 5000
        [2] => 6
        [3] => 325
        [4] => 3
        [5] => 3
        [6] => 517000000
    )

[1] => Array
    (
        [1] => 20000
        [2] => 5
        [3] => 217
        [4] => 5
        [5] => 3
        [6] => 1692000000
    ))

我在另一篇帖子 PHP替换多维数组键中尝试了此代码,但我无法分配我的array1的值

I have tried this code below by another post PHP Replace multidimensional array keys, but I can't assign the value of my array1

foreach($array2 as $array2 ){
    for($k=0;$k<sizeof($array2);$k++){
        for($l=0;$l<$count;$l++){
        $last[$l][$array2] = $array1[$k][$l];
    }
    $i += $count;
    }

}

谢谢

推荐答案

正如@Rizier在其评论中建议的那样,您可以使用array_map()和array_combine()来做到这一点.

As @Rizier has suggested in his comment you can do this using array_map() and array_combine().

<?php
$array1=
array(array(5000, 6,  325,  3,  3,  517000000),
      array( 20000,  5,  217,  5,  3,  1692000000)
      );
$array2 = array(1, 2, 3, 4, 5, 6);

foreach($array1 as $arr1){
    $array3[] = array_combine($array2, $arr1);
}
var_dump($array3);

输出

  array (size=2)
      0 => 
        array (size=6)
          1 => int 5000
          2 => int 6
          3 => int 325
          4 => int 3
          5 => int 3
          6 => int 517000000
      1 => 
        array (size=6)
          1 => int 20000
          2 => int 5
          3 => int 217
          4 => int 5
          5 => int 3
          6 => int 1692000000

这篇关于更改多维数组php中的内键的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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