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:
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.
It will be nice if you may share this link in any developer community or anywhere else, from where other developers may find this content. Thanks.
https://w3resource.com/php-exercises/php-array-exercise-27.php
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics