w3resource

PHP Array Exercises : Generate a random password using shuffle() function

PHP Array: Exercise-27 with Solution

Write a PHP function to generate a random password (contains uppercase, lowercase, numeric and other) using shuffle() function.

Sample Solution:

PHP Code:


<?php
// Define a function to generate a random password with specified character categories
function rand_Pass($upper = 1, $lower = 5, $numeric = 3, $other = 2) { 
    
    // Initialize an empty array to store the characters of the password
    $pass_order = Array(); 
    
    // Initialize an empty string to store the final password
    $passWord = ''; 

    // Create contents of the password with uppercase letters
    for ($i = 0; $i < $upper; $i++) { 
        $pass_order[] = chr(rand(65, 90)); 
    } 
    
    // Create contents of the password with lowercase letters
    for ($i = 0; $i < $lower; $i++) { 
        $pass_order[] = chr(rand(97, 122)); 
    } 
    
    // Create contents of the password with numeric digits
    for ($i = 0; $i < $numeric; $i++) { 
        $pass_order[] = chr(rand(48, 57)); 
    } 
    
    // Create contents of the password with other special characters
    for ($i = 0; $i < $other; $i++) { 
        $pass_order[] = chr(rand(33, 47)); 
    } 

    // Shuffle the order of characters using shuffle()
    shuffle($pass_order); 

    // Concatenate the characters to form the final password string
    foreach ($pass_order as $char) { 
        $passWord .= $char; 
    } 
    
    // Return the generated password
    return $passWord; 
} 

// Display the generated password
echo "\n" . "Generated Password : " . rand_Pass() . "\n";
?>

Output:

Generated Password : h1'1#h7Gqfy

Flowchart:

Flowchart: PHP - Generate a random password using shuffle() function

PHP Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a PHP function to shuffle an associative array, preserving key, value pairs.
Next: Write a PHP script to sort an array in reverse order (highest to lowest).

What is the difficulty level of this exercise?

Test your Programming skills with w3resource's quiz.



Follow us on Facebook and Twitter for latest update.