2015-06-10 4 views
0

Я знаю, что это легко думать, но не знаю, как перевести его в код. У меня есть 2 комплекта массива (заголовок и тело), ​​который выглядит следующим образом:слияние массива с использованием цикла

HEADER 
'tfa_1' => string '(First, Middle, Last)' (length=21) 
    'tfa_10' => string 'Card Type' (length=9) 
    'tfa_11' => string 'Diners Club' (length=11) 
    'tfa_12' => string 'MasterCard' (length=10) 
    'tfa_3' => string 'Last 4 Digits of Card Number' (length=28) 
    'tfa_127' => string 'Email Address' (length=13) 
    'tfa_150' => string 'Phone Number' (length=12) 
    'tfa_156' => string 'What type of phone number is this?' (length=34) 
    'tfa_157' => string 'Mobile Number' (length=13) 
    'tfa_158' => string 'Landline Number' (length=15) 
    'tfa_128' => string 'When is the best time to call you for verification?' (length=51) 

BODY 
'tfa_1' => string 'Mike' (length=18) 
    'tfa_10' => string 'MasterCard' (length=10) 
    'tfa_3' => string '123' (length=4) 
    'tfa_127' => string '[email protected]' (length=22) 
    'tfa_150' => string '09xxxxxx' (length=11) 
    'tfa_156' => string 'Mobile Number' (length=13) 

Мне нужно, чтобы это было так:

'tfa_1' => string 'mike' (length=21) 
     'tfa_10' => string 'MasterCard' (length=9) 
     'tfa_11' => string '' (length=11) 
     'tfa_12' => string '' (length=10) 
     'tfa_3' => string '123' (length=28) 
     'tfa_127' => string '[email protected]' (length=13) 
     'tfa_150' => string 'P09xxxxxx' (length=12) 
     'tfa_156' => string 'Mobile Number' (length=34) 
     'tfa_157' => string '' (length=13) 
     'tfa_158' => string '' (length=15) 
     'tfa_128' => string '' 

Я попытался

$merge = (array_merge($header,$body)); 

успешно но мне нужны те, у которых $ body нет ответа на конкретный ключ, должен быть NULL

ответ

0

Если ключ существует, добавьте значение else fil l пустое значение.

$data будет иметь то, что вам нужно. Я предполагаю, что $header - это массив заголовков, а $body - массив тела.

$data=array(); 
    foreach($header as $key=>$value){ 
    if (array_key_exists($key, $body)) 
    $data[key]=$body[$key]; 
    else 
    $data[key]=""; 
    } 
+0

У этого есть ошибка @DanyalSandeelo –

0

Прежде всего, вы можете использовать

$arrayMerge = array_merge($array1, $array2); 

Если вы сбросите $arrayMerge то он содержит повторяющиеся значения.

Вы можете использовать array_unique($arrayMerge);

Я надеюсь, что это поможет.

+0

Мне нужны те, у кого нет ключа в теле, должно быть NULL в заголовке –

Смежные вопросы