У меня есть два массива, из которых состоят массивы. Мне нужно объединить эти массивы рекурсивно. Но мне нужно сделать это действие несколько раз, иadvanced unset массив формы значений PHP
array_merge_recursive()
будет apend моих данных дважды, я хочу, чтобы удалить элемент, что уже существует в целевом массиве. $ Сообщения массив:
array(2) {
["messages"]=>
array(2) {
["test.testik"]=>
string(13) "Це тест"
["test2313.tes31231tik"]=>
string(23) "це тестончик"
}
["validators"]=>
array(4) {
["valid.validik"]=>
string(36) "Це валідне значення"
["joga.jimbo"]=>
string(27) "Джімбо торбінс"
["validka.invalidka"]=>
string(23) "це інвалідка"
["smith.john"]=>
string(17) "джон сміт"
}
}
$ allCar массив:
array(2) {
["messages"]=>
array(1) {
["test2313.tes31231tik"]=>
string(23) "це тестончик"
}
["validators"]=>
array(2) {
["validka.invalidka"]=>
string(23) "це інвалідка"
["smith.john"]=>
string(17) "джон сміт"
}
}
Я написал код:
foreach ($messages as $domain => $messagesArray) {
foreach ($allCat as $d => $mess) {
if ($domain == $d) {
foreach ($messagesArray as $ymlkey => $trans) {
foreach ($mess as $ymlk => $transl) {
if ($ymlkey == $ymlk) {
unset($mess[$ymlk]);
}
}
}
}
}
}
Затем, когда я бег рекурсивного слияния он добавляет то же значение в массив. Что я делаю неправильно?
Вам нужно будет предоставить начальные массивы и ожидаемый результат. – AbraCadaver
@AbraCadaver, я добавил массив, который должен быть compaerd. – nowiko