3 случайных фрукта, но только 2 случайных.Как приготовить этот генератор случайных чисел? - PullRequest
0 голосов
/ 25 января 2011

представьте, что у меня есть список из 50 любимых фруктов, но я хочу получить только 3 случайных из этого списка в моей короткой записи на моем веб-сайте, чтобы показать мои любимые фрукты:

содержимое файлаof [favfruits.php]

$fruitsarray = Mango, Banana, Cucumber, Pear, Peach, Suthern Melon, Coconut, ...
$recepyarray = Juices, Oven Dishes, Freshly Served, Ripe after 14 days, ...

# echo randomizer function: echoes random words from any list

содержимое файла [webpage.php]

<html><body>
<?php # show 3 fruits randomly   ?> 
<p> can be used for example in: </p>
<?php # show 2 recepies randomly ?> 
</body><html>

Вопрос1: это А)работа сама по себе или б) всего 2 строки кода?или C) ??
Если A) , какие различные методы PHP вы бы предложили для этого!
Если B) большое спасибо за помощь мне в моемспособ приготовить это!
Если C) сделать ваши бесплатные предложения!

Ответы [ 4 ]

4 голосов
/ 25 января 2011

PHP имеет эффективную встроенную функцию для этого. array_rand

// get 3 random keys from your array
$keys = array_rand($fruitsarray, 3);

// cycle through the keys to get the values
foreach ($keys as $key) {
    echo $fruitsarray[$key];
}

Затем просто измените рецепты.

2 голосов
/ 25 января 2011

Я не уверен, что понял, что вы хотите, но, возможно, shuffle () справится с задачей.

0 голосов
/ 25 января 2011

Я просто хотел попытаться сделать короткое решение здесь

//echo randomizer function: echoes random words from any list

    function echo_randomizer($array, $length=3, $sep=",") {
         shuffle($array);
         echo implode($sep,array_slice($array, 0, $length));
    }
0 голосов
/ 25 января 2011

Три случайных фрукта могут не соответствовать ни одному из ваших рецептов.Я бы посоветовал вам:

  • Выберите случайный фрукт;
  • Выберите рецепты, содержащие этот фрукт, просматривайте их, пока не найдете еще два распространенных фрукта в этих рецептах.
  • Это может потерпеть неудачу;тогда вам нужно будет повторить попытку с другим случайным фруктом.

Процесс может занимать много времени;если это так, вы можете создать несколько известных наборов фруктов и рецептов в виде пакетного задания на ночь, а затем заставить сайт случайным образом выбрать один из этих предварительно рассчитанных наборов фруктов и рецептов.

...