---
title: "Slå ihop arrayer på smart sätt!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/173437-slå-ihop-arrayer-på-smart-sätt"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "learn"
published: "2008-08-19T10:03:10.000Z"
updated: "2008-08-25T21:01:23.000Z"
replies: 8
views: 826
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/173437-slå-ihop-arrayer-på-smart-sätt"
---

# Slå ihop arrayer på smart sätt!

## #1 — learn, 2008-08-19T10:03Z

Jag har kört fast.

Två arrayer:

```php
User
(
    [0] => Array
        (
            [userid] => 1
            [username] => test1
            [password] => hejhej
        )

    [1] => Array
        (
            [userid] => 2
            [username] => test2
            [password] => lalala
        )

)

Log
(
    [0] => Array
        (
            [logid] => 1
            [userid] => 2
            [date] => 2008-08-17
        )

    [1] => Array
        (
            [logid] => 2
            [userid] => 1
            [date] => 2008-08-18
        )

)
```

Nu vill jag slå ihop dem till en ända array, typ så här:

```php
User
(
    [0] => Array
        (
            [userid] => 1
            [username] => test1
            [password] => hejhej
            [log] => 2008-08-18
        )

    [1] => Array
        (
            [ID] => 2
            [username] => test2
            [password] => lalala
            [log] => 2008-08-17
        )

)
```

Hur gör jag det på smartaste sett? Alla tips och förslag är välkomna!

Tack på förhand!

Permalänk: https://www.webforum.nu/p/173437

## #2 — learn, 2008-08-20T10:45Z

Ingen som har något tips på hur man kan göra?   :q

Permalänk: https://www.webforum.nu/p/2134288

## #3 — sabbacus, 2008-08-20T11:03Z

array_merge() kanske är något?

<http://se.php.net/array_merge>

Permalänk: https://www.webforum.nu/p/2134294

## #4 — learn, 2008-08-20T11:12Z

Nja, kanske... men det svåra är ju att få in värdena på rätt ställe, Log userid ska ju kopplas ihop med rätt User userid, om ni förstår hur jag menar

Permalänk: https://www.webforum.nu/p/2134298

## #5 — jme, 2008-08-20T11:24Z

Loopa, lägg till manuellt...

Permalänk: https://www.webforum.nu/p/2134305

## #6 — learn, 2008-08-21T09:47Z

Hmm, ok. Kan någon ge mitt ett förslag på hur detta kan göras?

Permalänk: https://www.webforum.nu/p/2134525

## #7 — ngised, 2008-08-21T15:45Z

Gjorde ett försök och tycker det verkar funka bra...

```php
$user = array( 
    0 => array(  
        "userid" => 1, 
        "username" => "test1", 
        "password" => "hejhej" 
        ),  
     1 => array(  
        "userid" => 2,  
        "username" => "test1",  
        "password" => "hejhej" 
        ) 
    ); 
                     
                     
$log = array( 
     0 => array( 
        "logid" => 1, 
        "userid" => 2,  
        "date" => "2008-02-02" 
        ),  
     1 => array( 
        "logid" => 2, 
        "userid" => 1,  
        "date" => "2008-01-01" 
        ) 
    );  
                     
function array_push_assoc($array, $key, $value){ 
  $array[$key] = $value; 
  return $array; 
} 

foreach($log as $logkey => $logentry) { 
  foreach($user as $userkey => $userentry) { 
    if($logentry["userid"] == $userentry["userid"]) { 
      $user[$userkey] = array_push_assoc($userentry, "log", $logentry["date"]); 
    } 
  } 
} 

echo "<pre>"; 
print_r($user); 
echo "</pre>";
```

Permalänk: https://www.webforum.nu/p/2134609

## #8 — learn, 2008-08-25T11:53Z

Ok, tack. Ska prova.

Fler förslag?

Permalänk: https://www.webforum.nu/p/2135144

## #9 — überfuzz, 2008-08-25T21:01Z

Varifrån kommer dina arrayer? Kan du inte vara lite smartare när du skapar dem? Koden ger inga felmeddelanden eller varningar ifall arrayerna inte är lika långa eller om de inte finns matchningar på varenda nyckel. 
**ngised**: Ibland är det bra med räknare. Här kan man låta dem slå två flugor i samma smäll.

```php
for ($i = 0; $i < count($User); $i++)
{
	for($j = 0; $j < count($Log); $j++)
	{
		if($User[$i]['userid'] == $Log[$j]['userid'])
		{
			$User[$i]['log'] = $Log[$j]['date'];
		}
	}
}

echo "<pre>";
print_r($User);
echo "</pre>";
```

Permalänk: https://www.webforum.nu/p/2135252

---

Tråden på webben: https://www.webforum.nu/amne/php/173437-slå-ihop-arrayer-på-smart-sätt
