正確に30文字を含むランダムな文字列を作成しようとしています。しかし、28文字を作成することもあります。問題を解決する方法は?私のコードは次のようなものです:
function random_string(){
$character_set_array = array( );
$character_set_array[ ] = array( 'count' => 15, 'characters' => 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQURSTUVWXYZ' );
$character_set_array[ ] = array( 'count' => 6, 'characters' => '0123456789' );
$character_set_array[ ] = array( 'count' => 9, 'characters' => '!@#$%^&+_|~-=\{}[]:?/' );
$temp_array = array( );
foreach ( $character_set_array as $character_set )
{
for ( $i = 0; $i < $character_set[ 'count' ]; $i++ )
{
$temp_array[ ] = $character_set[ 'characters' ][ rand( 0, strlen( $character_set[ 'characters' ] ) - 1 ) ];
}
}
shuffle( $temp_array );
return implode( '', $temp_array );
}
私を助けてください。