Я ищу кратчайший способ генерации случайных/уникальных строк, и для этого я использовал следующие два:
$cClass = sha1(time());
или
$cClass = md5(time());
Однако мне нужно, чтобы строка начиналась с символа алфавита, я искал кодировку base64, но в конце добавлял ==
, а затем мне нужно было избавиться от этого.
Каким будет лучший способ добиться этого с помощью одной строки кода?
Update:
PRNDL придумал хорошие предложения, которые я использовал, но немного изменил
echo substr(str_shuffle(abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ),0, 1) . substr(str_shuffle(aBcEeFgHiJkLmNoPqRstUvWxYz0123456789),0, 31)
Допустим 32 символа, имитирующие хеш файл md5, но он всегда будет обрабатывать первую char букву алфавита, например:
Однако Uours действительно улучшился и его ответ;
substr(str_shuffle("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 1).substr(md5(time()),1);
короче и слаще
Другое предложение от Аноним2011 было очень удивительным, но по какой-то причине первый символ всегда был либо M, N, Y, Z, так и не соответствовал моим целям, но был бы выбранным ответом, кстати, кто-нибудь знает, почему он всегда будет давать эти конкретные письма?
Вот предварительный просмотр моей измененной версии
echo rtrim(base64_encode(md5(microtime())),"=");