【问题标题】:How to get the array values from different arrays into a single using PHP?如何使用 PHP 将不同数组中的数组值合并到一个数组中?
【发布时间】:2021-10-05 07:14:58
【问题描述】:

我有一个类似数组的:

Array
(
    [0] => 4
    [1] => 1861
)
Array
(
    [0] => 4
    [1] => 1938
)
Array
(
    [0] => 4
    [1] => 1452
)
Array
(
    [0] => 4
    [1] => 1938
)
Array
(
    [0] => 21
)

这是一个包含这个元素数组的单个数组。 我需要这样的结果:

$arr = array(4,1861,1938,1452,21);

这意味着我需要这些数组中唯一的数组唯一值。为此,我使用了 array_walk_recursive()、array_merge() 等。但我没有得到我的结果。

【问题讨论】:

    标签: php arrays


    【解决方案1】:

    您需要先使用 array_merge,然后再使用 array_unique

    $array = array_unique (array_merge ($array1, $array2));
    

    请检查这个https://stackoverflow.com/a/10572576/2429434

    【讨论】:

    • 我只有一个数组。 $数组1。在数组 1 中包含具有值的不同数组。
    • 他们说输入是单个数组,而不是多个变量。
    • @Sonia 在这种情况下你使用这个$array = array_unique (array_merge (...$array1)); 检查这个stackoverflow.com/a/17041344/2429434
    • 我理解了这个方法并尝试了这个,但是在这段代码之后我的执行停止了
    【解决方案2】:

    合并所有数组,然后调用array_unique()

    $result = array_unique(array_merge(...$array));
    

    ...$array 将原始数组的元素展开为array_merge() 的参数。

    如果您在省略号之前使用的是旧版本的 PHP,请改用 call_user_func_array()

    $result = array_unique(call_user_func_array('array_merge', $array));
    

    【讨论】:

    • 我使用的是 PHP 5.4 版本。这个版本有什么选择吗?
    • 使用call_user_func_array('array_merge', $array) 而不是使用省略号。
    • 我已经试过这个功能了,但是我没有得到结果。
    • PHP 5.4版本的call_user_func_array有问题吗?因为我试过了,发现没有结果。我只是显示我的数组值,我得到了我的数组值。在那之后,我使用了这个函数,我没有得到任何结果?
    • 我刚刚在 PHP 5.4 中尝试过,效果很好。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-22
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多