【问题标题】:PHP - remove key from joined arraysPHP - 从连接的数组中删除键
【发布时间】:2019-07-05 18:21:28
【问题描述】:

我有 2 个数组。

$sv_json_en

$param

我把$sv_json_en推到$param['params']里面。

array_push($param['params'], $sv_json_en);

结果是这样的:

[
    'email' => 'mycar@mycar.pt',
    'title' => 'Carro 2',
    'params' => [
        'price' => [
            (int) 0 => 'price',
        ],
        (int) 0 => [
            'destaque' => '0',
            'titulo' => 'Carro 2',
        ]
]

问题是插入的$sv_json_en 有另一个键 (int) 0 => [] 来自 $params。

我需要删除键 (int) 0 => [] 并将其键 => 值放在与价格相同的级别(不是内部价格),这是 'params' => [] 的根级别。

我尝试使用算术连接$array1 + $array2。 我也尝试使用array_merge

但也许我需要一个像 foreach 循环这样具有嵌套迭代级别的循环?

关于它的制作方法有什么建议吗?

【问题讨论】:

  • $param['params'] = array_merge($param['params'], $sv_json_en);

标签: php arrays join key


【解决方案1】:

假设您的起始数组是:

$sv_json_en = [
    'destaque' => '0',
    'titulo' => 'Carro 2'
];

$param = [
    'email' => 'mycar@mycar.pt',
    'title' => 'Carro 2',
    'params' => [
        'price' => [
            0 => 'price',
        ]
    ]
];

那么以下应该会产生您正在寻找的结果:

$param['params'] = array_merge($param['params'], $sv_json_en);

在哪里

print_r($param);

产量:

Array
(
    [email] => mycar@mycar.pt
    [title] => Carro 2
    [params] => Array
        (
            [price] => Array
                (
                    [0] => price
                )

            [destaque] => 0
            [titulo] => Carro 2
        )

)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-18
    • 1970-01-01
    • 1970-01-01
    • 2014-03-21
    • 1970-01-01
    • 2012-06-17
    相关资源
    最近更新 更多