Я пытаюсь сравнить два массива и взять данные из Array2 и поместить его в Array1, если соответствующий индекс в Array1 пуст. Вот пример массивов. Второй массив имеет данные, которые первый массив не имеет.PHP, сравнивающий многомерные массивы
Array(
[Customer] => Array(
[sales_associate] =>
[store] =>
)
[CustomerPersonalInformation] => Array(
[first_name] => FirstName
[middle_initial] =>
[last_name] => Lastname
[gender] =>
)
[CustomerContactInformation] => Array(
[primary_phone] => (111)111-1111
[email] => [email protected]
[street_address] =>
[city] =>
[state] =>
[zip] =>
[county] =>
)
[Marketing] => Array(
[accepts_calls] =>
[accepts_emails] =>
[best_contact_time] =>
)
)
Array(
[Customer] => Array(
[sales_associate] => Me
[store] => There
)
[CustomerPersonalInformation] => Array(
[first_name] => FirstName
[middle_initial] => E
[last_name] => Lastname
[gender] =>
)
[CustomerContactInformation] => Array(
[primary_phone] => (111)111-1111
[email] => [email protected]
[street_address] =>
[city] =>
[state] =>
[zip] =>
[county] =>
)
[Marketing] => Array(
[accepts_calls] =>
[accepts_emails] =>
[best_contact_time] =>
)
)
Я не могу придумать, как перемещаться по массивам, поскольку индексы не являются числами. Я знаю, что мне нужно использовать петли foreach, но я, похоже, не могу об этом подумать. Вот последнее, что я попытался (неудачно):
foreach($firstArray as $element) {
foreach($element as $value) {
echo $value;
echo $secondArray[$element][$value];
}
}
Что такое ожидаемый результат? –
@AmalMurali Я бы ожидал, что это будет каждый элемент каждого массива. Но он работает только на Array1 – mrowland
Вы смотрите на array_replace_recursive()? –