This site works best with JavaScript enabled!

Description: Random generator - Subset of Names

Random Generator Select Subset of Names

Here the algorithm of the generator "Subset of Names" is described. In this random generator you can enter several names from which a subset will be chosen randomly. For example, you can draw the winner of a raffle or enter other things that you can not decide between.

Random generator "Subset of Names"

Click here to go to the random generator described below.

What is randomness?

Randomness is an event for which there is no causal explanation. 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.

How are the names selected?

Theoretically, three different mechanisms for generating pseudo-random numbers are used in this generator, but two of them are only used to generate the binary string in the background.

Random generator 1 and 2 for binary string

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

Random generator 3 for name selection

The previous random number generators produce relatively good random numbers, which, however, can further be improved. The subset 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
11
// The array $names contains all names

// Select all names
for($i = 1; $i <= $number_names; $i++) {
	
	$index 		= random_int(0, count($names)-1);
	$random_names[] = $names[$index];
	unset($names[$index]);			// Delete entry
	$names 		= array_values($names);	// Reset indexes
	
}
Share this page
Posted on 21.12.2016 | Last modified on 16.01.2018