P
P
Prog-Time2019-11-01 19:04:08
PHP
Prog-Time, 2019-11-01 19:04:08

How to create a random sample?

I have several domains
remontmitino.rf
_
_
_
_
_ repairpodolsk.rf/aeg repairdomodedovo.rf/aeg I have an array from which I have to select rows.

'holodilnikov' => array( 
        'Работа холодильника основана на принципе холодильной машины, переносящей тепловую энергию из рабочей камеры – наружу, в кухонное помещение', 
        'Холодильники делятся на два вида: среднетемпературные камеры для хранения свежих продуктов и низкотемпературные морозильные камеры', 
        'Прототип морозильника появились несколько тысяч лет назад – использовались помещения для хранения продуктов, наполненные льдом', 
        'Российский прототип холодильника — ледники, представляющие сруб, погруженный в землю', 
        'С 1930 года хладагентом в морозильниках является инертный газ фреон', 
        'Хладагент, обычно, фреон — газ, переносящий лишнее для продуктов тепло от испарителя к конденсатору', 
        'Холодильник тратит около 10% от общего электропотребления дома', 
        'Наиболее экономный режим холодильника - когда в нём находится большое количество продуктов', 
    ),

The array will consist of 10-15 lines.
Question: how can I create a sequence of 5 digits (output 5 lines) so that there is a unique combination on different brands (samsung, lg, etc.) and on different domains.
I think you need to form an equation based on the URL of the page.
Requirements:
- Strings can match, the main thing is to randomize their order!
- The sequence should be rigid and not change after page
reloading. I will make a selection myself (you don’t need to write an array), I only need 5 random digits.

Answer the question

In order to leave comments, you need to log in

2 answer(s)
B
BoShurik, 2019-11-02
@Prog-Time

Option without storing sequences:

$hosts = [
    'ремонтмитино.рф',
    'ремонт-королев.рф',
    'ремонтчехов.рф',
    'ремонтподольск.рф',
    'ремонтдомодедово.рф',
];

$brands = [
    'aeg',
    'samsung',
    'lg',
];

$phrases = [
    'Работа холодильника основана на принципе холодильной машины, переносящей тепловую энергию из рабочей камеры – наружу, в кухонное помещение',
    'Холодильники делятся на два вида: среднетемпературные камеры для хранения свежих продуктов и низкотемпературные морозильные камеры',
    'Прототип морозильника появились несколько тысяч лет назад – использовались помещения для хранения продуктов, наполненные льдом',
    'Российский прототип холодильника — ледники, представляющие сруб, погруженный в землю',
    'С 1930 года хладагентом в морозильниках является инертный газ фреон',
    'Хладагент, обычно, фреон — газ, переносящий лишнее для продуктов тепло от испарителя к конденсатору',
    'Холодильник тратит около 10% от общего электропотребления дома',
    'Наиболее экономный режим холодильника - когда в нём находится большое количество продуктов',
];

$count = 5;
foreach ($hosts as $host) {
    foreach ($brands as $brand) {
        srand(crc32($host.$brand)); // Чтобы не хранить результат

        $brandPhrases = $phrases;
        shuffle($brandPhrases);

        echo sprintf("%s %s\n", $host, $brand);
        $brandPhrases = array_slice($brandPhrases, 0, $count);
        var_dump($brandPhrases);
    }
}

D
Dmitry Derepko, 2019-11-01
@xEpozZ

The sequence should be rigid and not change after page reload

Have you really thought about it?
------
There is an array of 5 elements. Take a random one and remove it from this array. Now it is an array of 4 elements. Write a random string to the database. You repeat the cycle.
When entering the page, check the table with the generated sequence and get all the data.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question