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;
}
こんにちは。私は認証クラスを構築していますが、上記の関数は私にいくつかの悲しみを与えています.エラーメッセージが表示され続けています:
Notice: 初期化されていない文字列のオフセット: 16
エコーはテスト目的で存在します。
次を使用して関数を呼び出しています。
public static function Compile($Password, $Length){
self::generateString($Length,$Password);
}
Auth::Compile('testi ngpassword', 10);
スクリプトを実行すると、エラー メッセージが表示されないことがあります。しかし、複数回 (3 ~ 7 回) 実行すると、上記のメッセージが表示されますか? この通知が 2 行にまたがって表示されることがあります。
では、繰り返し実行するとエラー メッセージがランダムに生成されるのはなぜですか? 指定された引数が変更されていない場合は?