====== random_items() ======

''string **random_items**(array|string //basis//, [int //number//])''

Randomly selects //number// of items from a list of items __or__ from all items in a question.

  * //basis//\\ A list of items (array or comma-separated) __or__ a question ID
  * //number//\\ Number of items that should be drawn. If the second parameter is omitted, the items will be returned in a random order.

**Note:** As a rule, enabling item rotation directly in the question (//Items' order// -> "Shuffle/rotate randomly") is preferred over using the function ''random_items()''. This function only provides real added value if the same random selection is needed again in a later question, or if not all of the items should be displayed. 

===== Examples =====

It is assumed that questions AB01 and AB02 have the same items. The following PHP code shows the items in question AB01 in a random order -- and the items in question AB02 in the same order.

<code php>
$items = random_items('AB01');
question('AB01', $items);
question('AB02', $items);
</code>

**Tip:** If questions AB01 and AB02 should be asked on different pages, use ''[[:en:create:functions:registervariable|registerVariable($items)]]'' to make the variable ''$items'' available for use on future pages.

In the following example, 3 items are randomly selected from items 1,2,3,4,9 and 9, and questions AB01 and AB02 are only shown with these items.

<code php>
$items = random_items('1-4,8,9', 3);
question('AB01', $items);
question('AB02', $items);
</code>

The following PHP code shows 3 of the items from question AB01 at random.

<code php>
$items = random_items('AB01', 3);
question('AB01', $items);
</code>

The same result can be also obtained, however, with a corresponding parameter in the command ''[[en:create:functions:question|question()]]''.

<code php>
question('AB01', 'random=3');
</code>