[英]PHP comparing multidimensional arrays
我正在尝试比较两个数组,并从Array2中获取数据,如果Array1中的对应索引为空,则将其放入Array1中。 这是数组的示例。 第二个数组具有第一个数组没有的数据。
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@gmail.com
[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@gmail.com
[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];
}
}
遍历第二个数组,并检查元素是否在第一个数组中,如下所示:
foreach($secondArray as $elementKey => $elementContent) {
if(! isset($firstArray[$elementKey]) || empty($firstArray[$elementKey])) {
$firstArray[$elementKey] = $elementContent;
}
foreach($elementContent as $ecKey => $ecValue) {
if(! isset($firstArray[$elementKey][$ecKey]) || empty($firstArray[$elementKey][$ecKey])) {
$firstArray[$elementKey][$ecKey] = $ecValue;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.