Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2013, 14:47   #1
Masafi
Форумчанин
 
Регистрация: 12.03.2011
Сообщений: 113
По умолчанию Упростить замену

Здравствуйте!
Решил сделать что-то на подобии генератора паролей с помощью функции rand();
Сделал так:
PHP код:
<?php
    
for($i=1$i<>10$i++){
        
$b rand(1,36);
        
$z rand(1,2);
    }
?>
Объясняю:
$b - буква английского алфавита (если выпадет 1-26) или цифра (27-36).
$z - заглавная буква, или нет (если цифра то не надо).
Суть:
нужно заменять цифры из рандома:
1-26 на буквы из алфавита (1 - a, 2 - b, 3 - c...)
27-36 на цифры (27 - 1, 28 - 2, 29 - 3...)
если в первом рандоме буква, то поменять на заглавную, если надо (1 - нет, 2 - да)
Моя версия:
я надумал только сделать кучу if, которые будут заменять цифры на буквы или опять же цифры.
и сделать длиннющее условие, со всем алфавитом, буква или нет, и заменить на заглавную если надо.
Но мне кажется, что эту баааальшую кучу можно заменить на маленький алгоритмик. Только как? Думал, думал, ничего не придумал :с
Masafi вне форума Ответить с цитированием
Старый 12.07.2013, 15:13   #2
Somebody
Участник клуба
 
Регистрация: 08.10.2007
Сообщений: 1,185
По умолчанию

PHP код:
$chars "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890";
$charsLen strlen($chars);
for (
$i 0$s ""$i 10$i++)
    
$s .= $chars[rand(0$charsLen 1)];
echo 
$s
Somebody вне форума Ответить с цитированием
Старый 12.07.2013, 16:12   #3
Masafi
Форумчанин
 
Регистрация: 12.03.2011
Сообщений: 113
По умолчанию

Цитата:
Сообщение от Somebody Посмотреть сообщение
PHP код:
$chars "QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm1234567890";
$charsLen strlen($chars);
for (
$i 0$s ""$i 10$i++)
    
$s .= $chars[rand(0$charsLen 1)];
echo 
$s
Спасибо большое На весы нажал
Masafi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
анимация, реализовать замену цвето romanie Помощь студентам 2 17.05.2012 04:07
задача на замену glebcherednik Помощь студентам 6 10.12.2011 23:31
Задача на замену символов Walter Bishop Паскаль, Turbo Pascal, PascalABC.NET 0 18.10.2011 18:16
Организовать замену в файле. Leshii Паскаль, Turbo Pascal, PascalABC.NET 5 14.09.2011 19:43
Условие на замену pchakoff Microsoft Office Access 6 11.12.2009 23:01