protected static function generateString ($length = 50, $Password){
$characters = $Password;
$string = '';
for ($p = 0; $p < $length; $p++) {
$string .= $characters[mt_rand(0, strlen($characters))]; // Error Line
}
echo $string;
}
Hello. Я строй класса аутентификации, а функция выше дает мне некоторую печаль, я постоянно получаю представлен с сообщением об ошибке:Неинициализированное смещение строки
Примечания: Uninitialized строки смещении: 16
эха есть для в целях тестирования.
Я зову свою функцию с помощью:
public static function Compile($Password, $Length){
self::generateString($Length,$Password);
}
Auth::Compile('testi ngpassword', 10);
Когда я бегу мой сценарий, иногда он генерирует без сообщений об ошибках; но при запуске несколько раз (3- 7) мне представляется сообщение, как указано выше? и иногда это уведомление показывает более двух строк?
Так почему же сообщение об ошибке генерируется случайным образом при повторном запуске? когда указанные аргументы не меняются?
строки основаны на нулевом значении, их длина начинается с 1 ... поэтому последний символ будет давать неправильное смещение –