powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / символы из массива в строку, с сохранением символов
14 сообщений из 14, страница 1 из 1
символы из массива в строку, с сохранением символов
    #39242709
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть массив, состоящий из англ букв, цифр, и др символов. нужно выбрать из массива х рандомных элементов и сделать из них строку СИМВОЛОВ. Суть проблемы в том что при implode http://php.net/manual/ru/function.implode.php элементы собираються в строку НО все они преобразовываються в числа.

Есть др способ: в цилке по 1 эл массива лепить к строке - так работало и работает, но я хочу по другому сделать (по научному :))

Может кой-то (?) параметр указать, или еще что-то и оно в одной строчке кода склеит нужную строку.

---
Я вам не надоел?
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242740
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что значит преобразовываются в числа? Покажите код и тестовый пример
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242751
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
function genpsw() {
    //отакий от масивчик
    $mass = array(
        '.',
        '?',
        '!',
        '@',
        '#',
        '$',
        '%',
        '^',
        '&',
        '*',
        '(',
        ')',
        '-',
        '=',
        '_',
        '+',
        '0',
        '1',
        '2',
        '3',
        '4',
        '5',
        '6',
        '7',
        '8',
        '9',
        'A',
        'B',
        'C',
        'D',
        'E',
        'F',
        'G',
        'H',
        'I',
        'J',
        'K',
        'L',
        'M',
        'N',
        'O',
        'P',
        'Q',
        'R',
        'S',
        'T',
        'U',
        'V',
        'W',
        'X',
        'Y',
        'Z',
        '0',
        '1',
        '2',
        '3',
        '4',
        '5',
        '6',
        '7',
        '8',
        '9',
        'a',
        'b',
        'c',
        'd',
        'e',
        'f',
        'g',
        'h',
        'i',
        'j',
        'k',
        'l',
        'm',
        'n',
        'o',
        'p',
        'q',
        'r',
        's',
        't',
        'u',
        'v',
        'w',
        'x',
        'y',
        'z');

  
    
    $x = 0; //Для використання в циклі
    $psw = '';
    shuffle($mass);//1 раз перемішати масив
    while ($x < 16) {
    $z = array_rand($mass);
    
    echo "$x char = $mass[$z]
";

    $psw = "$psw$mass[$z]";
  
  echo "<br>psw = $psw<br>";
    $x++;
    }
   echo "<br><b>$psw</b><br>"; //показати увесь пароль
    return ($psw);


Это работает. щас "неправильный" код покажу...
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242755
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://itmages.ru/image/view/4311394/e8895bcd
вот так получается в цикле. Щас будет "неверный код".
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242757
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
это ПРАВИЛЬНЫЙ код. я неправильно выше скопипастил
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
$x = 0; //Для використання в циклі
    $psw = '';
    shuffle($mass);//1 раз перемішати масив
    while ($x < 16) {
    $z = array_rand($mass);
    //Вибрати один випадковий елемент з масиву
  //echo "$x char = $mass[$z]
";

    $psw = "$psw$mass[$z]";
    //До пустого рядка додати символ паролю, отриманого з масиву
    //  і вивести те що вийшло, для відладки
   echo "<br>psw = $psw<br>";
    $x++;
    }//Кінець циклу
   echo "<br><b>$psw</b><br>"; //показати увесь пароль
   exit;
    return ($psw);
}


масив все тот же
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242760
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот "НЕ ПРАВИЛЬНЫЙ" КОД.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
 
    shuffle($mass);
    var_dump($mass);
    $psw=array_rand($mass,16);
//ПОСЛЕ ВЫДОРА РАНДОМНЫХ ЗНАЧ ОНО СТАЕТ ЧИСЛАМИ. 
//ИЛИ ??? ТУТ ВЫБИРАЮТСЯ НЕ ЗНВАЧЕНИЯ А КЛБЮЧИ МАССИВА???
    var_dump($psw);
    print_r($psw);
    $psw=implode('', $psw);
    
  
   echo "<br><b>$psw</b><br>"; //показати увесь пароль
   exit;
    return ($psw);
}
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242762
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://itmages.ru/image/view/4311417/79bf2036

По макс и мин знеачению я все таки больше склоняюсь к тому что єто ключи массива.
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242763
SharuPoNemnogu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а не надо склоняться, в доке прям так и написано, что возвращает ключи случайных значений.
Код: php
1.
2.
shuffle($mass);
$pwd = implode('', array_slice($mass, 0, 16));
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242765
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
function genpsw() {
    //отакий от масивчик
    $mass = array(
        '.',
...
...
...
        'x',
        'y',
        'z');


    shuffle($mass);
   var_dump($mass);
    $psw=array_rand($mass,16);
    var_dump($psw);

    $psw=implode('', $psw);
   var_dump($psw);
    
  
   
   echo "<br><b>$psw</b><br>"; //показати увесь пароль
   exit;
    return ($psw);
}


выдает
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
/var/www/html/...
array (size=88)
  0 => string 'R' (length=1)
  1 => string '!' (length=1)
...
  86 => string 'L' (length=1)
  87 => string '3' (length=1)

/var/www/html/...
array (size=16)
  0 => int 1
  1 => int 4
  2 => int 10
  3 => int 33
  4 => int 38
  5 => int 41
  6 => int 55
  7 => int 63
  8 => int 70
  9 => int 74
  10 => int 75
  11 => int 76
  12 => int 80
  13 => int 81
  14 => int 86
  15 => int 87

/var/www/html/... string '141033384155637074757680818687' (length=30)


141033384155637074757680818687
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242766
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SharuPoNemnoguа не надо склоняться, в доке прям так и написано, что возвращает ключи случайных значений.
Код: php
1.
2.
shuffle($mass);
$pwd = implode('', array_slice($mass, 0, 16));


"смотрю в книгу - вижу..."

В школе военрук говорил "Книжка в сумці, *** (дівка) на думці"
---
но эм-м... это-вот Возвращает строку , содержащую строковое представление всех элементов массива в указанном порядке, со строкой glue между каждым элементом. - шото я не понимаю в жизни(?).
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242768
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
$pwd = implode('', array_slice($mass, 0, 15) );
нумерация как-бэ с 0
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242770
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ваш пример выберет значения от 0 до х начиная с начала массива?
ну что я спрашиваю. щас проверю.
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242777
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
aliskin,

Чувак, для начала объясни что ты вообще хочешь сделать. Из твоих 50 сообщений пока непонятно
...
Рейтинг: 0 / 0
символы из массива в строку, с сохранением символов
    #39242795
aliskin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уже сделал и все работает. Не вникайте, если на понимаете.

Ошибка была в том что я перед имплоде испошльзолвал array_rand() - отсюда и ключи взялись, а не значения.

Это ф генерации пароля. Какая есть, такая и есть. То что пароль не реально запомнить меня не волнует.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
function genpsw() {
    //отакий от масивчик
    $mass = array(
        '.',
        '?',
массив
        'z');


    shuffle($mass);
    $psw = implode('', array_slice($mass, 0, 16));

    //var_dump($psw);

    echo "<br><b>$psw</b><br>"; 
    //exit;
    return ($psw);
}
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / символы из массива в строку, с сохранением символов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]