Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (3) [1] 2 3  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> вывод чисел через запятую, как вывести числа через запятую в генераторе
leonw  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 108
Пользователь №: 40712
На форуме: 2 года, 4 месяца, 21 день
Карма:




Здравствуйте! в генераторе чисел вывод идет слитно, как сделать чтобы числа разделялись запятой? и без повторений т.к. числа иногда повторяются :(
<form method="post">
<
input type="text" name="number" value="7">
<
input type="submit" value="Генерировать">
<
form><br><br>
<?php
// Параметр $number - сообщает число
// символов в пароле

$number=7;
echo generate_password(intval($_POST['number']));

function generate_password($number)
{
$arr = array('1','2','3','4','5','6',
'7','8','9','10','11','12');
// Генерируем пароль
$pass = "";
for($i = 0; $i < $number; $i++)
{
// Вычисляем случайный индекс массива
$index = rand(0, count($arr) - 1);
$pass .= $arr[$index];
}
return $pass;
}
?>


Это сообщение отредактировал leonw - 28.01.2016 - 19:29
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
[x] Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3656
Пользователь №: 38635
На форуме: 3 года, 4 месяца, 27 дней
Карма: 194




leonw
Знатный говнокодище!!!
Прямо вот, аж до слез :)
Напомнило:
Лучший говнокод всех времен


bool IsBukva(char symbol)
{
switch(symbol)
{
case'a':return 1;break;
case'b':return 1;break;
case'c':return 1;break;
case'd':return 1;break;
case'e':return 1;break;
case'f':return 1;break;
case'g':return 1;break;
case'h':return 1;break;
case'i':return 1;break;
case'j':return 1;break;
case'k':return 1;break;
case'l':return 1;break;
case'm':return 1;break;
case'n':return 1;break;
case'o':return 1;break;
case'p':return 1;break;
case'q':return 1;break;
case'r':return 1;break;
case's':return 1;break;
case't':return 1;break;
case'u':return 1;break;
case'v':return 1;break;
case'w':return 1;break;
case'x':return 1;break;
case'y':return 1;break;
case'z':return 1;break;
case'A':return 1;break;
case'B':return 1;break;
case'C':return 1;break;
case'D':return 1;break;
case'E':return 1;break;
case'F':return 1;break;
case'G':return 1;break;
case'H':return 1;break;
case'I':return 1;break;
case'J':return 1;break;
case'K':return 1;break;
case'L':return 1;break;
case'M':return 1;break;
case'N':return 1;break;
case'O':return 1;break;
case'P':return 1;break;
case'Q':return 1;break;
case'R':return 1;break;
case'S':return 1;break;
case'T':return 1;break;
case'U':return 1;break;
case'V':return 1;break;
case'W':return 1;break;
case'X':return 1;break;
case'Y':return 1;break;
case'Z':return 1;break;
default:return 0;
}
}



$arr = array('1','2','3','4','5','6',
'7','8','9','10','11','12');
// Генерируем пароль
$pass = "";
for($i = 0; $i < $number; $i++)
{
// Вычисляем случайный индекс массива
$index = rand(0, count($arr) - 1);
.....


А чем не устроило ?
$index = rand(1,12);


Чтобы числа шли через запятую, то нужно так и писать: хочу запятую, а потом число
$pass .= ',' . $arr[$index];


В конце прибить первую запятую:
$pass = ltrim($pass, ',');


Но, т.к. функция имеет говорящие имя generate_password, то это вообще не пароль, это подарок на новый год Детскому саду детей программистов, для факультативов по подготовке к школе.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
leonw  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 108
Пользователь №: 40712
На форуме: 2 года, 4 месяца, 21 день
Карма:




Спасибо! я его в других целях использую.
$index = rand(1,12);
выдает по две запятых.
поэтому думаю лучше первый способ.
а как сделать чтобы не повторялись числа?

Это сообщение отредактировал leonw - 28.01.2016 - 21:37
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26368
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




Цитата
Лучший говнокод всех времен

ахахахахахах пля... нее видел, не видел

пароль генерировать говорите..

$str = substr(sha1(rand(0,123)), 3,9);


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
leonw  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 108
Пользователь №: 40712
На форуме: 2 года, 4 месяца, 21 день
Карма:




да не пароль biggrin.gif biggrin.gif biggrin.gif жесть
http://sincorrer.xyz/game.php - пример лотереи, почти собрал!
тяжко конечно, но можно. еще скодировкой незнаю что делать.

Это сообщение отредактировал leonw - 28.01.2016 - 21:41
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26368
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




leonw


о чём это я.. ах да - вот https://www.consultant.ru/document/cons_doc_LAW_44970/


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3656
Пользователь №: 38635
На форуме: 3 года, 4 месяца, 27 дней
Карма: 194




Цитата (leonw @ 28.01.2016 - 19:26)
а как сделать чтобы не повторялись числа?

Либо красиво через массив и проверкой in_array(), либо некрасиво с поиском по строке.

$index = rand(0, count($arr) - 1);
if(strpos($pass, ',' . $index) !== false) {
continue;
}


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
sergeiss  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Сидел он, дум великих полон - и вдаль глядел
******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 15347
Пользователь №: 4190
На форуме: 9 лет, 3 месяца, 18 дней
Карма: 467




Цитата (AllesKlar @ 28.01.2016 - 23:10)
Либо красиво через массив и проверкой in_array()

Можно и без in_array. Просто писать в "исходящий" массив, используя число в качестве ключа. А проверять количество элементов в массиве. Если число попадется повторно, то количество останется тем же.

PS. Где-то так: $count - сколько элементов надо, $number - диапазон для чисел.

function generate_list($number, $count) {
$out = array();
while( count( $out ) < $count ) {
$out[ rand(0, $number - 1) ] = 1;
}
return implode( ',', $out);
}


Это сообщение отредактировал sergeiss - 28.01.2016 - 23:30


--------------------
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
PMICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Эли4ка  
   Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Богиня-девственница
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3228
Пользователь №: 27007
На форуме: 6 лет, 2 месяца
Карма: 33

Не пью :
24 года, 5 месяцев, 4 дня


Цитата (leonw @ 28.01.2016 - 15:25)
и без повторений т.к. числа иногда повторяются  sad.gif

без повторений чисел?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
leonw  
 ۩     Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 108
Пользователь №: 40712
На форуме: 2 года, 4 месяца, 21 день
Карма:




ну да: может выдать: 12,12,15,15,7,8
а как убрать повторение? чтобы не было 12 12 15 15 а пример 12 13 14 15

не фурычит код:
<?php
$number=7;
$count=10;


function generate_list($number, $count) {
$out = array();
while( count( $out ) < $count ) {
$out[ rand(0, $number - 1) ] = 1;
}
return implode( ',', $out);
}
?>


Это сообщение отредактировал leonw - 29.01.2016 - 08:10
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26368
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




собирать в массив, с проверкой наличия в массиве
собирать массив - уникализировать массив


--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kaww  
Дата
Цитировать сообщение

Пользователь сейчас на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 1784
Пользователь №: 20757
На форуме: 7 лет, 3 месяца, 21 день
Карма: 186




function generate_password($number, $quality = 5) {
$array = range(1, $number * $quality);
shuffle($array);
return implode(',', array_slice($array, 0, $number));
}
echo generate_password(5);
PMПисьмо на e-mail пользователю
    1   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Игорь_Vasinsky  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



c начала 2017 года в Новосибирске.
******

Профиль
Журнал
Группа: ★ЛжеЭксперт★
Завсегдатай форума
Сообщений: 26368
Пользователь №: 21350
На форуме: 7 лет, 2 месяца, 10 дней
Карма: 736




kaww
он про generate_list() говорил)

function generate_list($number, $count) {
$out = array();
while( count( $out ) < $count ) {
$digit = rand(0, $number - 1);

if(!in_array($digit, $out))
$out[ ] = $digit;
}
return implode( ',', $out);
}




--------------------
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql (TSql, BI OLAP, MDX), Git, SVN, CodeIgnater, Yii 2, JiRA, Redmine, Bitbucket, Composer
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Invis1ble  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме




******

Профиль
Группа: Эксперт
Группа переписки
Сообщений: 11933
Пользователь №: 23195
На форуме: 6 лет, 10 месяцев
Карма: 435

Трезвый :
7 лет, 8 месяцев, 30 дней


echo implode(',', array_rand(array_fill_keys(range(1, 12), null), 7));


ПыСы. http://www.govnokod.ru/9345


--------------------
PMПисьмо на e-mail пользователюСайт пользователя
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
leonw  
 ۩  [x]    Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Старик
***

Профиль
Группа: Пользователь
Сообщений: 108
Пользователь №: 40712
На форуме: 2 года, 4 месяца, 21 день
Карма:




где я делаю ошибку?
<?php
$submit=$_POST['generator'];
if(isset($submit))
{
function generate_password($number, $quality=7)
{
$array = range(1, $number * $quality);
shuffle($array);
return implode(',', array_slice($array, 0, $number));
}

$t1=generate_password(7);
}



$submit=$_POST['record'];
if(isset($submit))
{
if($_POST['record'])
{
$fp = fopen("result.dat", "w");
fwrite($fp, $t1); echo $t1;
fclose($fp);
}
else echo "Error File Record";
}


echo "<form name=sender method=post onsubmit=return SendForm();>
<input type=text name=name1 value=
$t1>
<input type=submit name=generator value=Генерировать>
<input type=submit name=record value=Запись>
<input type=submit name=search value=Поиск>
</form>"
;
?>

по идеи если нажал на одну кнопку то должно с генерироватся
на другую то запись. а если я нажимаю на запись то он и записывает и создает новые цыфры???? :blink: :(

Это сообщение отредактировал leonw - 29.01.2016 - 23:05
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (3) [1] 2 3  Ответ в темуСоздание новой темыСоздание опроса