login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Array merge op zelfde Key (Opgelost)

Offline Jurgo - 22/03/2010 12:30 (laatste wijziging 22/03/2010 13:03)
Avatar van JurgoPHP interesse Hallo allemaal,

Ik heb twee array's die ik wil samenvoegen tot een enkele array.
De truuk is dat ik deze wil samenvoegen op key. Dus de waardes die de zelfde key hebben moeten bijelkaar komen te staan onder die key.

Stel dat je de volgende twee array's heb:

array( 0 => array('Identifier' => '098765432'))

array( 0 => array('Title' => 'vandooren', Datum => '12-03-2010'))

Dan moet het worden:

array( 0 => array('Identifier' => '098765432', 'Title' => 'vandooren', Datum => '12-03-2010'))

Ik hoor graag van jullie!

2 antwoorden

Gesponsorde links
Offline Martijn - 22/03/2010 12:37
Avatar van Martijn Crew PHP je kunt met een foreach door array1 lopen (als die de meeste keys heeft), en dan steeds
if isset ($array2[$key]) { $array1[$key] = array($value,$array2[$key]);
Offline Jurgo - 22/03/2010 13:26 (laatste wijziging 22/03/2010 14:50)
Avatar van Jurgo PHP interesse
Martijn schreef:
je kunt met een foreach door array1 lopen (als die de meeste keys heeft), en dan steeds
if isset ($array2[$key]) { $array1[$key] = array($value,$array2[$key]);


Heb geprobeerd maar helaas!

De volgende code bracht de oplossing:
  1. function array_merge_keys($ray1, $ray2)
  2. {
  3. $retval = array();
  4.  
  5. $keys = array_unique(array_merge(array_keys($ray1),array_keys($ray2)));
  6.  
  7. foreach ($keys as $item)
  8. {
  9. $retval[$item] = array();
  10.  
  11. foreach ($ray1[$item] as $aaa => $bbb)
  12. {
  13. $retval[$item][$aaa] = $bbb;
  14. }
  15.  
  16. foreach ($ray2[$item] as $aaa => $bbb)
  17. {
  18. $retval[$item][$aaa] = $bbb;
  19. }
  20. }
  21. return $retval;
  22. }
  23.  
  24. $records = array_merge_keys($identifiers, $aVeld);
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.307s