Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Помогите разобраться
Форумы портала PHP.SU » » Если скрипт не работает » Помогите разобраться

Страниц (1): [1]
 

1. Gru - 03 Декабря, 2014 - 08:41:31 - перейти к сообщению
Помогите понять, что не так:

<?php
function generate($repeat){
$chars="qazxswedcvfrtgbnhyujmkiolp1234567890";
$max=6;
$size=StrLen($chars)-1;
$password=null;

while($repeat!=0){
while($max--)
$password.=$chars[rand(0,$size)];

echo "$password &nbsp;";
$repeat--;
}
}
generate(3);
?>

Требуется чтобы функция создавала пароли заданное количество раз. В таком варианте выдаёт только 1 пароль. А ожидалось что 3)
2. Мелкий - 03 Декабря, 2014 - 10:27:07 - перейти к сообщению
Вообще-то, в таком варианте вы попадаете в бесконечный цикл.
3. Viper - 03 Декабря, 2014 - 10:38:49 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. function generate($repeat) {
  2.         $chars = "qazxswedcvfrtgbnhyujmkiolp1234567890";
  3.         $size = StrLen($chars)-1;
  4.         $paswd_arr = array();
  5.  
  6.         for ($i=1; $i<$repeat; $i++) {
  7.                 $paswd_arr[] = $chars[rand(0,$size)];
  8.         }
  9.  
  10.         return $paswd_arr;
  11. }


на выходе массив с 3 паролями.

Gru вам что проще? Строка с паролями через разделитель или массив? Мне второе Улыбка

 

Powered by ExBB FM 1.0 RC1