à l'aide de la matrice de fusion dans une boucle foreach

J'ai besoin de fusionner une nouvelle série d'autres informations dans la boucle si ils ont l'alternative de l'information dans leur profil.

Voici ma boucle:

foreach ($doctor->getVars() as $k => $v)
    {
    $data['doctor_'. $k] = $v;
    }

foreach ($patient->get_data() as $k=>$v)
    {
    if (is_string($v) || is_numeric($v))
        $data["patient_" . $k] = strtoupper($v);
    } 

Voici les $données var_dump:

Array
(
    [employee] => person
    [date] => 05/08/2013
    [datetime] => 05/08/2013 9:41:15 AM
    [department] => stuff
    [employee_ext] => 7457
    [employee_email] => 
    [barcode] => *NZS01*
    [doctor_df_code] => 09HQ
    [doctor_npi] => 1111111111
    [doctor_dea] => B4574
    [doctor_upin] => 
    [doctor_license] => 
    [doctor_phone] => (111)111-1111
    [doctor_fax] => (000)000-0000
    [doctor_fname] => UNDEFINED
    [doctor_lname] => UNDEFINED
    [doctor_title] => 
    [doctor_intake_rx_caller_id] => 
    [doctor_costco_rx_caller_id] => 
    [doctor_reorder_rx_caller_id] => 
    [doctor_address1] => 24 CABELL st
    [doctor_address2] => SUITE 10
    [doctor_city] => places
    [doctor_state] => CA
    [doctor_zip] => 91111
    [doctor_active_events] => 
    [doctor_dont_call] => 0
    [doctor_dont_fax] => 1
)

J'ai besoin de fusionner le tableau ci-dessous dans le tableau ci-dessus.
Voici l'impression var pour la fonction add($dfcode):

Array
(
    [0] => Array
        (
            [CODE_] => 09HQ
            [doctor_address1] => alternate addy
            [doctor_address2] => 45854
            [doctor_city] => different city
            [doctor_state] => CA
            [doctor_zip] => 963545
            [doctor_phone] => (619)111-2548
            [doctor_fax] => (157)123-4569
        )

)

Je suis nouveau à la matrice de fusion et je suis en supposant à droite après le $data['doctor_'. $k] = $v je pourrais énumérer les nouvelles fonctions et les champs que je veux fusionner en particulier?

syntaxe est ce que je ne suis pas sûr:

$data['doctor_'. $k] . array_merge(addr($dfcode))['doctor_address1'] = $v;

Toute aide serait grandement appréciée, merci.

  • foreach($array_bot as $key=>$valeur){ $array_top[$key]=$value; } cette fusion des 2 tables, je pense. Na pas tester le code. Mais vous avez besoin d'avoir les deux tableaux à partir de la commencer. Ne sais pas si c'est la vrai question
  • Quand vous dites que vous voulez fusionner ces informations SI elles n'ont pas d'autres informations, voulez-vous dire que vous souhaitez fusionner les données de la deuxième tableau que si le deuxième tableau contient de l'information? Je ne suis pas complètement clair sur ce que vos conditions sont ici. Aussi, tous les champs dans le second tableau sont des doublons de champs dans le premier tableau. Êtes-vous remplacer des données dans le tableau d'origine? Qui serait différente de la fusion.
  • Oui, de fusionner les données de la deuxième tableau que si le deuxième tableau contient de l'information. Remplacer des données dans le tableau d'origine.
  • Êtes-vous en supposant que les clés existent, mais qu'ils ne pourraient pas contenir toutes les valeurs? Ou avez-vous besoin de vérifier pour voir si les clés existent?
  • Ils existent toujours et ont peut-être pas toujours avoir des valeurs.
  • Ensuite, je suis horriblement confus à ce que vous devez vérifier. Vous gardez faisant référence à "l'information" dans vos messages, que voulez-vous dire par "l'information"?
  • Juste écraser le premier tableau (de l'information) avec le deuxième tableau (de l'information) s'il existe des données dans le second tableau, il y aura toujours des clés et des valeurs dans le premier tableau, mais pas toujours dans le second. L'espoir qui fait plus de sens.
  • Alors la réponse que j'ai posté ci-dessous à l'aide de la boucle foreach est exactement ce que vous cherchez. Si la clé n'existe pas dans le second tableau, les données du premier tableau ne seront pas remplacées. Sinon il va.

InformationsquelleAutor Head Way | 2013-05-08