Portrety Uliczne Nieznajomych - zobacz wyjątkową galerię portretów z warszawskich ulic
ZALOGUJ SIĘ
login:
hasło:
przypomnij hasło
załóż konto użytkownika
(i zobacz kilka porad gratis)
   
WYSZUKIWARKA I DZIAŁY
całe porady  tytuły
zaznacz działy do przeszukania
(brak wyboru = wszystkie działy)
PHP
MySQL >
PostgreSQL
SQLite
Perl
Java
XML
XSLT
XPath
WML
SVG
RegExp
Wyszukiwarki
Ochrona
VBScript
Google Plus
XHTML/CSS
JavaScript
Grafika
Flash
Photoshop
Windows
Linux
Bash
Apache
Procmail
E-biznes
Explorer
Opera
Firefox
Inne porady
   
KURSY, DOKUMENTACJE
Własne:
XHTML/CSS
JavaScript
ActionScript
WML, RSS, SSI
Pozostałe:
PHP
MySQL
Java API
więcej...
   
użytkowników online: 43
W CZYM MOGĘ POMÓC?


   
OPINIE UŻYTKOWNIKÓW
Nie jestem webmasterem, ale i na mnie zrobiła wrażenie szybkość reakcji Darka na mój problem. Jego kompetencja i przede wszystkim zupełnie niemodna w dzisiejszych skomercjalizowanych czasach - zwykła ludzka życzliwość dla innego człowieka. Tacy ludzie to dziś gatunek niemal wymarły...

Leszek
Wojskowy Instytut Medyczny

   
GALERIA FOTOGRAFII
   
PODRĘCZNIK PHP 5.x, 4.x, 3.x - częściowo spolszczony / źródło: www.php.net

[Spis] [A] [B] [C] [D] [E] [F] [G] [H] [I] [J] [K] [L] [M] [N] [O] [P] [Q] [R] [S] [T] [U] [V] [X] [W] [Z]

str_shuffle

(PHP 4 >= 4.3.0, PHP 5)

str_shuffle -- Randomly shuffles a string

Description

string str_shuffle ( string str )

str_shuffle() shuffles a string. One permutation of all possible is created.

Przykład 1. str_shuffle() example

<?php
$str
= 'abcdef';
$shuffled = str_shuffle($str);

// This will echo something like: bfdaec
echo $shuffled;
?>

See also shuffle() and rand().




User Contributed Notes

nmoyroud at teledetection dot fr
03-Nov-2005 01:38

Just another update to password builder function. With this version, you can choose the number of alphanumeric characters to add and the number of non-alphanumeric characters. You obtain a more secure password. You can add another characters to the non-alphanumeric list if you need.
If you want a password with 8 alphanumeric and 3 non-alphanumeric characters in a random order, just call :
random_passwd(8,3);

function generatePasswd($numAlpha=6,$numNonAlpha=2) {
   $pwd = '';
   $listAlpha = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
   $listNonAlpha = ',;:!?.$/*-+&@_+;./*&?$-!,';

   $start = mt_rand(1, (strlen($listAlpha)-$numAlpha));
   $string = str_shuffle($listAlpha);
   $pwd .= substr($string,$start,$numAlpha);

   $start = mt_rand(1, (strlen($listNonAlpha)-$numNonAlpha));
   $string = str_shuffle($listNonAlpha);
   $pwd .= substr($string,$start,$numNonAlpha);

   return str_shuffle($pwd);
}


support at wiredlabs dot net
15-Aug-2005 11:03

Just an update to sfalcon's function.  Chooses a random number within the length and then selects a random segment not the current segment of 1 to $numchar. Also added upper-case chars.

function random_passwd($numchar=8) {
   $str = "abcefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ";
   $start = mt_rand(1, (strlen($str)-$numchar));
   $string = str_shuffle($str);
   $password = substr($string,$start,$numchar);
   return($password);
}


Qube, Efnet #php
05-Aug-2005 01:20

(correction)
I balked at the loop method used below in inverting and randomising capitalisation and released that we just need to flip the bit (3rd bit or 6th depending on what way you look at it) and it would cause the case change in a character.

Full code and example:
http://www.pgregg.com/projects/php/code/str_case.php
(append an s to the url to get the .phps source)

I came up with a method and thanks to arpad (optimising as ever! :) we now have:

Invert case:
preg_replace('/[a-z]/ie', '\'$0\' ^ str_pad(\'\', strlen(\'$0\'), \' \')', $input);

Randomise case:
preg_replace('/[a-z]/ie', '(rand(0,1) ? \'$0\' ^ str_pad(\'\', strlen(\'$0\'), \' \') : \'$0\')', $input);

and for good measure:
Upper case:
preg_replace('/[a-z]/e', '\'$0\' & str_pad(\'\', strlen(\'$0\'), chr(223))', $input);

Lower case:
preg_replace('/[A-Z]/e', '\'$0\' | str_pad(\'\', strlen(\'$0\'), \' \')', $input);


rudigreen at gmail dot com
02-Jul-2005 04:20

Here are 2 functions, one inverts the case of a string and the other one randomizes the captilization in a string, kinda
useful string operations.

<?

//Inverts the case of a string
function invert_case($str)
{
  
$nstr = '';
   for(
$i=0;$i<strlen($str);$i++)
   {
      
$char = substr($str,$i,1);
      
//If it's lower case make it upper case
      
if($char == strtolower($char))
       {
          
$char = strtoupper($char);
       }
       else
//if it's upper than make it lower
      
{
          
$char = strtolower($char);
       }
      
$nstr .= $char;
   }
   return
$nstr;
}

//Randomly capilizes/uncaptilizes chars in a string
function rand_case($str)
{
  
$nstr = '';
   for(
$i=0;$i<strlen($str);$i++)
   {
      
$char = substr($str,$i,1);
      
$char = invert_case($char);
      
//2 options, to change or not to change
      
rand(0,1) == 1 ? $char = invert_case($char) : null;
      
$nstr .= $char;
   }
   return
$nstr;
}

//Example:
echo rand_case("pHp rooLz! gUyZ"); //produces something random
echo invert_case("pHP STRiNG sEx");//produces Php strIng SeX
?>


Michiel van den boogaard
17-Jan-2005 11:03

Shortend function for PHP < 4.3
<?php 
function RandomPass($numchar

  
$word = "a,b,c,d,e,f,g,h,i,j,k,l,m,1,2,3,4,5,6,7,8,9,0"
  
$array=explode(",",$word); 
  
shuffle($array); 
  
$newstring = implode($array,""); 
   return
substr($newstring, 0, $numchar); 

?>


aidan at php dot net
27-Aug-2004 12:31

This functionality is now implemented in the PEAR package PHP_Compat.

More information about using this function without upgrading your version of PHP can be found on the below link:

http://pear.php.net/package/PHP_Compat


sfalcon_(at)_pymesweb_(dot)_com
26-Aug-2004 05:28

You can use str_shuffle to make simple and nice random passwords:

function random_passwd($numchar) {
     $string =str_shuffle("abcefghijklmnopqrstuvwxyz1234567890");
     $password = substr($string,1,$numchar);

     return($password);
}

echo random_passwd('8') // Will return something like "xa3dh214" =)


 

 
  © 1996-2012 & Reporter.plmiejscao serwisieabonamentwarunki korzystaniaRSSkontakt