download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

PHP: Вкарване на целият резултат от един код в променлива?

Автор
Съобщение
programings
Чет, 29.11.12, 14:38
Здравейте!

Използвам този код, и искам да вкарам целият резултат от полученото при изпълнението на кода в една единствена променлива!

В момента кода извършва едно и също нещо 6 пъти, като всеки път генерира по една буква, и в края всичко изглежда като един цял стринг! Искам този стринг да го вкарам целият в една променлива с която после да си правя каквото си искам!

Има ли начин?

insecteater
Чет, 29.11.12, 15:22

RE: PHP: Вкарване на целият резултат от един код в променлива?

” Здравейте!

Използвам този код, и искам да вкарам целият резултат от полученото при изпълнението на кода в една единствена променлива!

В момента кода извършва едно и също нещо 6 пъти, като всеки път генерира по една буква, и в края всичко изглежда като един цял стринг! Искам този стринг да го вкарам целият в една променлива с която после да си правя каквото си искам!

Има ли начин? „

<?php
$v = '';
for ($i=0; $i<6; $i++) {
    $d=rand(1,30)%2;
    $v .= $d ? chr(rand(65,90)) : chr(rand(48,57));
}
echo $v;
?>

Ако искаш, може и една идея по-кратко ( идентични са):
<?php
$v = '';
for ($i=0; $i<6; $i++)
    $v .= (rand(1,30)%2) ? chr(rand(65,90)) : chr(rand(48,57));
echo $v;
?>

Между другото този скрипт не генерира напълно случайни "букви". Всъщност цифрите и буквите имат равен шанс да се срещат в крайния резултат - т.е. средностатистичекси ще имаш 3 букви и 3 цифри, ако дължината е 6 символа. При положение, че буквите са 25 а цифрите само 10, реалното съотношение цифри/букви е към 2:5, а не както в случая 1:1. Не знам дали целта ти е да се срещат достатъчно често и цифри и въобще има ли това някакво значение за теб и те устройва само символите да са случайни.

редактиран от insecteater на 29.11.12 15:40
редактиран от insecteater на 29.11.12 15:47
programings
Чет, 29.11.12, 16:46
Мерси!

Иначе случайността не е от такова значение, но то и по принцип при компютрите случайни числа няма! Е, изключение може би прави /dev/random в ядрото на Linux, където всичко се базира на случайни системни събития, и от там могат да бъдат образувани числа! Изключение са и квантовите генератори на произволни числа, където системата е базирана на случайни звуци от атмосферата!

Иначе в PHP за жалост избора е само между rand (който е може би най-лошият генератор) и mt_rand, който използва Mersenne Twister, но и там за начален сийд се ползва часовника на компютъра, така че въобще езика е ограничен от готови инструменти за генериране на произволни числа!

редактиран от programings на 29.11.12 16:47
редактиран от programings на 29.11.12 16:48

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.