【问题标题】:How To Keep Original Key on Array Merge如何在数组合并中保留原始密钥
【发布时间】:2015-09-22 06:30:20
【问题描述】:

我有两个动态关联数组,我正在尝试将它们合并到一个数组中,但我需要将原始的 keys 保留为原始数组,但作为回报,我会得到 [0]A,我需要这样做保留它[1],因为它在数组$a

$a = ["1"=>"A", "2"=>"B", "3"=>"C"];
$b = ["n"=>"5"];
$c = array_merge($a,$b);
print_r($c);

数组(
[0] => A
[1] => 乙
[2] => C
[n] => 5
)

【问题讨论】:

  • 我不是 php 开发人员。但是您是否尝试过像php.net/array_merge 的 php 文档那样做?带有 $a = array(... ? 的声明

标签: php array-merge


【解决方案1】:

为了保留数组的键,您需要在此处使用 + 运算符,如 as

$a = ["1"=>"A", "2"=>"B", "3"=>"C"];
$b = ["n"=>"5"];
$c = $a + $b;
print_r($c);

您可以查看 PHP 手册Example #2 Simple array_merge() example

【讨论】:

    【解决方案2】:

    我不是 php 开发人员。所以可能会有更好的答案

    php 文档说数字键是新编号的。我认为即使是作为键的字符串也被解释为数字。

    你可以试试这个(不是数字键上添加的“a”):

    $a = ["1a"=>"A", "2a"=>"B", "3a"=>"C"];
    $b = ["n"=>"5"];
    $c = array_merge($a,$b);
    print_r($c);
    

    这不是干净的代码,但在此之后你可以“删除”'a'并且你有你的数字键

    【讨论】:

      猜你喜欢
      • 2018-01-08
      • 1970-01-01
      • 1970-01-01
      • 2018-05-29
      • 1970-01-01
      • 1970-01-01
      • 2014-02-01
      • 2013-07-01
      • 1970-01-01
      相关资源
      最近更新 更多