random en unieke combinaties
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?
function gen($lengte, $cijfers = true, $hoofletters = true){
$karakters = ($hoofletters == true) ? array_merge(range('A','Z'), range('a', 'z')) : array_merge(range('a', 'z'));
$karakters = ($cijfers == true) ? array_merge($karakters, range(0, 9), range(0,9)) : $karakters;
shuffle($karakters);
$pass = NULL;
for($i = 0; $i < $lengte; $i++)
{
$pass.= $karakters[$i];
}
return $pass;
}
echo gen(3, true, false);
?>
function gen($lengte, $cijfers = true, $hoofletters = true){
$karakters = ($hoofletters == true) ? array_merge(range('A','Z'), range('a', 'z')) : array_merge(range('a', 'z'));
$karakters = ($cijfers == true) ? array_merge($karakters, range(0, 9), range(0,9)) : $karakters;
shuffle($karakters);
$pass = NULL;
for($i = 0; $i < $lengte; $i++)
{
$pass.= $karakters[$i];
}
return $pass;
}
echo gen(3, true, false);
?>
stop ze in een array en vergelijk ze elke keer dmv in_array().
allemaal in een array steken? met 3 karakters (10 cijfers en 26 letters) kan je duizende mogelijkheden vormen... toch ni haalbaar in een array?!
iemand die me op weg kan zetten?
-maak random.
-zet random in een array.
-check of random in de array staat.
-zo niet: opnieuw.
Code (php)
Gewijzigd op 01/01/1970 01:00:00 door Manaus
Quote:
Re: random en unieke combina.. op 04.07.2007 15:21 quote bericht
allemaal in een array steken? met 3 karakters (10 cijfers en 26 letters) kan je duizende mogelijkheden vormen... toch ni haalbaar in een array?!
allemaal in een array steken? met 3 karakters (10 cijfers en 26 letters) kan je duizende mogelijkheden vormen... toch ni haalbaar in een array?!
36 * 36 *36 mogelijkheden = 46656 om precisies te zijn :)
zuigt dat geen geheugen als array ?
Link
Made by: tr4nc3
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
# Multiple Unique Random Numbers
#
# array mrand ( int min, int max, int count [, int strlen ] )
function mrand($l,$h,$t,$len=false){
if($l>$h){$a=$l;$b=$h;$h=$a;$l=$b;}
if( (($h-$l)+1)<$t || $t<=0 )return false;
$n = array();
if($len>0){
if(strlen($h)<$len && strlen($l)<$len)return false;
if(strlen($h-1)<$len && strlen($l-1)<$len && $t>1)return false;
do{
$x = rand($l,$h);
if(!in_array($x,$n) && strlen($x) == $len)$n[] = $x;
}while(count($n)<$t);
}else{
do{
$x = rand($l,$h);
if(!in_array($x,$n))$n[] = $x;
}while(count($n)<$t);
}
return $n;
}
## Samples ##
if(!$numbers = mrand(1000,9999,10,4))die("error");
// 20 random, all 7 chars in length
# $numbers = mrand(0,9999999,20,7);
// 20 random, length doesn't matter
# $numbers = mrand(0,9999999,20);
# $numbers = mrand(8000,10000,1,5) // ok
# $numbers = mrand(8000,10000,2,5) // error
# $numbers = mrand(120,100,20); // ok
# $numbers = mrand(100,120,21); // ok
# $numbers = mrand(120,100,21); // ok
# $numbers = mrand(120,100,22); // error
# $numbers = mrand(100,120,22); // error
# $numbers = mrand(120,120,1); // ok
# $numbers = mrand(120,120,2); // error
# $numbers = mrand(120,120,0); // error
# $numbers = mrand(1000000,9999999,3000);
// Sort the array
# sort($numbers);
// Display the array
echo '<pre>';
print_r($number);
echo '</pre>';
?>
# Multiple Unique Random Numbers
#
# array mrand ( int min, int max, int count [, int strlen ] )
function mrand($l,$h,$t,$len=false){
if($l>$h){$a=$l;$b=$h;$h=$a;$l=$b;}
if( (($h-$l)+1)<$t || $t<=0 )return false;
$n = array();
if($len>0){
if(strlen($h)<$len && strlen($l)<$len)return false;
if(strlen($h-1)<$len && strlen($l-1)<$len && $t>1)return false;
do{
$x = rand($l,$h);
if(!in_array($x,$n) && strlen($x) == $len)$n[] = $x;
}while(count($n)<$t);
}else{
do{
$x = rand($l,$h);
if(!in_array($x,$n))$n[] = $x;
}while(count($n)<$t);
}
return $n;
}
## Samples ##
if(!$numbers = mrand(1000,9999,10,4))die("error");
// 20 random, all 7 chars in length
# $numbers = mrand(0,9999999,20,7);
// 20 random, length doesn't matter
# $numbers = mrand(0,9999999,20);
# $numbers = mrand(8000,10000,1,5) // ok
# $numbers = mrand(8000,10000,2,5) // error
# $numbers = mrand(120,100,20); // ok
# $numbers = mrand(100,120,21); // ok
# $numbers = mrand(120,100,21); // ok
# $numbers = mrand(120,100,22); // error
# $numbers = mrand(100,120,22); // error
# $numbers = mrand(120,120,1); // ok
# $numbers = mrand(120,120,2); // error
# $numbers = mrand(120,120,0); // error
# $numbers = mrand(1000000,9999999,3000);
// Sort the array
# sort($numbers);
// Display the array
echo '<pre>';
print_r($number);
echo '</pre>';
?>
eum ja.. voor zover ik aan het script een beetje aanuit kan is het enkle voor getallen en niet voor de combinatie met letters...
als ik dat script even test krijg ik trouwens ook geen waarde te zien.
Gebruik Edit Knop aub