PHP - удалить ключ из объединенных массивов - PullRequest
0 голосов
/ 05 июля 2019

У меня есть 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 с вложенными уровнями итерации?

Есть какие-нибудь предложения о том, как это сделано?

1 Ответ

1 голос
/ 05 июля 2019

Предполагая, что ваши начальные массивы:

$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
        )

)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...