合并两个多维数组并重新索引所有子数组

发布于 2024-12-21 19:49:18 字数 1133 浏览 8 评论 0原文

我有两个数组,我想将这两个数组合并为单个数组。请查看下面的详细信息:

第一个数组:

Array
(
    [0] => Array
        (
            [a] => 1
            [b] => 2
            [c] => 3
        )

    [1] => Array
        (
            [a] => 3
            [b] => 2
            [c] => 1
        )
)

第二个数组:

Array
(
    [0] => Array
        (
            [d] => 4
            [e] => 5
            [f] => 6
        )

    [1] => Array
        (
            [d] => 6
            [e] => 5
            [f] => 4
        )
)

我想要这个结果。有人知道该怎么做吗?

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

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

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

希望你能理解这个问题。 先感谢您。

I have two arrays, I want to merge these two arrays into single array. Please view the detail below:

First Array:

Array
(
    [0] => Array
        (
            [a] => 1
            [b] => 2
            [c] => 3
        )

    [1] => Array
        (
            [a] => 3
            [b] => 2
            [c] => 1
        )
)

Second Array:

Array
(
    [0] => Array
        (
            [d] => 4
            [e] => 5
            [f] => 6
        )

    [1] => Array
        (
            [d] => 6
            [e] => 5
            [f] => 4
        )
)

I want this result. Does somebody know how to do this?

Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

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

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

Hope you have understand the question.
Thank you in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

只是我以为 2024-12-28 19:49:18

尝试 array_merge

$result = array_merge($array1, $array2);

Try array_merge:

$result = array_merge($array1, $array2);
甜点 2024-12-28 19:49:18

FIXED(再次)

function array_merge_to_indexed () {
    $result = array();

    foreach (func_get_args() as $arg) {
        foreach ($arg as $innerArr) {
            $result[] = array_values($innerArr);
        }
    }

    return $result;
}

接受无限数量的输入数组,将所有子数组作为索引数组合并到一个容器中,并返回结果。

编辑 03/2014: 提高了可读性和效率

FIXED (again)

function array_merge_to_indexed () {
    $result = array();

    foreach (func_get_args() as $arg) {
        foreach ($arg as $innerArr) {
            $result[] = array_values($innerArr);
        }
    }

    return $result;
}

Accepts an unlimited number of input arrays, merges all sub arrays into one container as indexed arrays, and returns the result.

EDIT 03/2014: Improved readability and efficiency

绝情姑娘 2024-12-28 19:49:18

更简单和现代的方法是:

$merged = $array1 + ['apple' => 10, 'orange' => 20] + ['cherry' => 12, 'grape' => 32];

来自 php 5.4 的新数组语法

more simple and modern way is:

$merged = $array1 + ['apple' => 10, 'orange' => 20] + ['cherry' => 12, 'grape' => 32];

new array syntax from php 5.4

煮酒 2024-12-28 19:49:18

如果您想返回您在问题中指定的确切结果,那么这样的事情就可以工作

function array_merge_no_keys() {
    $result = array();
    $arrays = func_get_args();
    foreach( $arrays as $array ) {
        if( is_array( $array ) ) {
            foreach( $array as $subArray ) {
                $result[] = array_values( $subArray );
            }
        }
    }
    return $result;
}

If you want to return the exact result you specify in your question then something like this will work

function array_merge_no_keys() {
    $result = array();
    $arrays = func_get_args();
    foreach( $arrays as $array ) {
        if( is_array( $array ) ) {
            foreach( $array as $subArray ) {
                $result[] = array_values( $subArray );
            }
        }
    }
    return $result;
}
海螺姑娘 2024-12-28 19:49:18

作为纯本机函数解决方案,合并数组,然后重新索引每个子数组。

代码:(演示

$a = [
    ['a' => 1, 'b' => 2, 'c' => 3],
    ['a' => 3, 'b' => 2, 'c' => 1],
];
$b = [
    ['d' => 4, 'e' => 5, 'f' => 6],
    ['d' => 6, 'e' => 5, 'f' => 4],
];

var_export(
    array_map('array_values' array_merge($a, $b))
);

输出:

array (
  0 => 
  array (
    0 => 1,
    1 => 2,
    2 => 3,
  ),
  1 => 
  array (
    0 => 3,
    1 => 2,
    2 => 1,
  ),
  2 => 
  array (
    0 => 4,
    1 => 5,
    2 => 6,
  ),
  3 => 
  array (
    0 => 6,
    1 => 5,
    2 => 4,
  ),
)

As a purely native function solution, merge the arrays, then reindex each subarray.

Code: (Demo)

$a = [
    ['a' => 1, 'b' => 2, 'c' => 3],
    ['a' => 3, 'b' => 2, 'c' => 1],
];
$b = [
    ['d' => 4, 'e' => 5, 'f' => 6],
    ['d' => 6, 'e' => 5, 'f' => 4],
];

var_export(
    array_map('array_values' array_merge($a, $b))
);

Output:

array (
  0 => 
  array (
    0 => 1,
    1 => 2,
    2 => 3,
  ),
  1 => 
  array (
    0 => 3,
    1 => 2,
    2 => 1,
  ),
  2 => 
  array (
    0 => 4,
    1 => 5,
    2 => 6,
  ),
  3 => 
  array (
    0 => 6,
    1 => 5,
    2 => 4,
  ),
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文