繁体   English   中英

PHP比较多维数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM