Funkcja generowania jednego znaku ze zbioru może być używana do wygenerowania losowego hasła - tu w przykładzie, 18 - znakowego.
function password1() { $c='123456789abcdefghijklmnopqrstuvwxyz'; $something = (string)$c{rand(0,strlen($c)-1)}; return $something; } echo '<br>'; echo "Sponsorem dnia jest literka: ".password1().'<br>'; $str = ''; for ( $i=0; $i<18; $i++ ) { $str .= password1(); } print_r($str); echo '<br>';
Rezultatem działania będzie 18-to znakowe hasło:
Sponsorem dnia jest literka: u
spncnpbj2ngq8p48sy
Oczywiście, całość można zminimalizować w jednej linijce:
$str = implode( array_map( function($value){ $c='123456789abcdefghijklmnopqrstuvwxyz'; return (string)$c{rand(0,strlen($c)-1)}; }, array_fill(0,18,NULL) ) ); echo $str;
Efektem naszej losowości będzie np. hasło: bv8eu979s36swqkj1g
Oczywiście zmieniając liczbę 18 w kodzie na inne, uzyskamy hasła o wpisanej długości.