This site works best with JavaScript enabled!

# Description: Random generator - Random Order

In this article the algorithm of the generator "Random Order" is described. You can enter several names into the random generator which will then be arranged in a random order. For example, you can select which entry of your TODO list should be done first.

## What is randomness?

Randomness is an event whose state cannot be clearly predicted causally. This means that the result of a random generator may not be predictable or computable. This, however, contradicts the laws of each computer. In other words, a computer can not produce absolutely random numbers without additional peripherals. In this case we call it pseudo-random numbers. In general, you can philosophize about at which point you can actually speak about randomness in practise.

## How are the names arranged randomly?

Theoretically, several different methods are used in this generator to generate pseudo-random values. For the actual answer, a PHP function for cryptographically secure pseudo random numbers is used.

### Random generators for binary string

How these random generators work, is explained here in detail.

### Random generator for random order

The previous random number generators produce relatively good random numbers, which, however, can further be improved. The random order is therefore always generated on server-side with the PHP function random_int(), which generates cryptographically secure pseudo-random numbers:

1
2
3
4
5
6
7
8
9
10
```// The array \$names contains all names

// Select all names
for (\$i = 1; \$i <= \$number_all_names; \$i++)
{
\$index = random_int(0, count(\$names) - 1);
\$random_order[] = \$names[\$index];
unset(\$names[\$index]);         // Delete entry
\$names = array_values(\$names); // Reset indexes
}```