В этом формате вы действительно должны выполнить большую часть работы самостоятельно и не можете просто использовать array_merge для объединения массивов. Это должна быть более индивидуальная работа, например:
$count = count($second_array);
for($i=0; $i<$count; $i++){
$first_array['IndividualOutmsg'][$i]['sms_status'] = $second_array[0];
$first_array['IndividualOutmsg'][$i]['error_code'] = $second_array[1];
$first_array['IndividualOutmsg'][$i]['msg_id'] = $second_array[2];
$first_array['IndividualOutmsg'][$i]['msg_id2'] = $second_array[3];
}
Если бы вы выводили второй массив с установленными ассоциативными ключами, было бы намного проще объединить их с помощью array_merge, если ключи не конфликтуют.
$count = count($second_array);
for($i=0; $i<$count; $i++){
$first_array['IndividualOutmsg'][$i] =
array_merge($first_array['IndividualOutmsg'][$i], $second_array[$i]);
}