---
title: "Random array, får ej vara samma två i rad?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/171676-random-array-får-ej-vara-samma-två-i-rad"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "UrMe"
published: "2008-05-21T08:08:14.000Z"
updated: "2008-05-23T12:49:17.000Z"
replies: 3
views: 473
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/171676-random-array-får-ej-vara-samma-två-i-rad"
---

# Random array, får ej vara samma två i rad?

## #1 — UrMe, 2008-05-21T08:08Z

Jag skapar 10 array så här:

```php
function shuffle_assoc(&$array) {
	if (count($array)>1) {
	  $keys = array_rand($array, count($array));

	  foreach($keys as $key)
		$new[$key] = $array[$key];

	  $array = $new;
	}
	return true;
}

foreach($result as $row) {
$array = array(1 => "test1", 2 => "test2", 3 => "test3");
shuffle_assoc($array);
.... mer kod som spottar ut arrayen här.....
}
```

Kan jag få så föregående array inte slumpar på samma sätt?

T.ex om första array slumpas så här:
(test2, test1, test3)
Så vill jag inte att nästa arrays värden ska hamna på samma positioner.
T.ex måste nästa array se ut så här:
(test3, test2, test1)

Går detta att lösa på något sätt? kommer inte på hur   :r

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

## #2 — überfuzz, 2008-05-22T20:00Z

1\. Är alla arrayer lika långa?
2\. Finns det flera värden än nycklar?

Gör en funktion som ändrar på värdet... kanske.

```php
function differ_arrays($array1, $array2)
{
	foreach ($arr1 as $key => $val) {
		if (!array_key_exists($key, $arr2)) {
		return null; // null - inget resultat
	} elseif ($val == $arr2[$key]) {
		//sätt nytt värde, som du vill ha
        }
    }
}
```

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

## #3 — colione, 2008-05-22T21:01Z

Jag är inte helt säker på vad du vill göra. Men php har ett antal array_diff-funktioner du borde kunna använda dig av:

<http://se2.php.net/manual/en/function.array-diff-assoc.php>
<http://se2.php.net/manual/en/function.array-diff.php>
<http://se2.php.net/manual/en/function.array-diff-ukey.php>
<http://se2.php.net/manual/en/function.array-diff-uassoc.php>
<http://se2.php.net/manual/en/function.array-diff-key.php>

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

## #4 — UrMe, 2008-05-23T12:49Z

Ska kolla på det där, alla arrayer är lika långa. Tackar!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/171676-random-array-får-ej-vara-samma-två-i-rad
