Вы не единственный, задающийся вопросом, что это означает; см. Хаотический блог .
Java “If, класс расширяет этот класс, это должно передать параметр E. Границы E’s параметра для класса, который расширяет этот класс с помощью того же параметра E”.
Как выбрать один или несколько случайных элементов из массива в php: http://us3.php.net/manual/en/function.array-rand.php
Как создавать случайные взвешенные элементы:
http://20bits.com/articles/random-weighted-elements-in-php/
Вы можете перетасовать
массив, а затем выбрать первые десять элементов с помощью array_slice
:
shuffle($array);
$tenRandomElements = array_slice($array, 0, 10);
Массив массивов в PHP должен быть хорошей стратегией. Вы можете хранить данные для этих массивов любым удобным для вас способом (жестко запрограммированные, XML и т.д.) и размещать их в массивах как таковые:
Array {
Array (item0) { filename,description, weight,...}
Array (item1) { filename,description, weight,...}
Array (item2) { filename,description, weight,...}
}
Затем вы можете использовать функцию array_rand для случайного удаления элементов из массива. Создание значения веса для каждой записи позволит вам выбрать одну запись вместо другой, используя какую-то стратегию приоритета (например, случайным образом получить 2 элемента из массива, проверить вес, выбрать один с большим весом и заменить другой)
Пример №1 Пример array_rand ()
<?php
$input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
echo $input[$rand_keys[1]] . "\n";
?>
<?php
$inarray = range(0,100);
shuffle($inarray);
$outarray = array_slice($inarray, 0, 20);
?>
Дополнительный вопрос, ответ: Взгляните на Выбор колеса рулетки . На веб-сайте говорится о генетических алгоритмах, но методы выбора надежны и могут применяться к целому ряду идей.
У меня есть код, который выполняет то, о чем вы просите. Я храню список спонсорских ссылок в текстовом файле и выбираю их наугад. Но, если я хочу исказить набор, я использую несколько ссылок ;-)
Файл спонсоров:
<a href="http://www.example.com">Example</a>
<a href="http://www.example.com">Example</a>
<a href="http://www.bbc.co.uk">BBC</a>
<a href="http://www.google.com">Google</a>
PHP:
$sponsor_config = 'sponsors.txt';
$trimmed = file($sponsor_config, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
$op = array();
$limit = 20; // insurance
$loops = 0;
$needed = 4;
$op[] = '<div id="sponsorship"><!-- start sponsorship -->';
$selected = array();
while ( (count($selected) < $needed) AND ($loops <= $limit)) {
$choice = rand(0, count($sponsors)-1);
if(!in_array($sponsors[$choice], $selected)) $selected[] = $sponsors[$choice];
$loops++;
}
foreach($selected as $k => $selection) {
$op[] = '<p class="sponsorship bg_'.($k%3+1).'">Click the link below to<br />visit our Site Sponsor:<br />'.$selection.'</p>';
}
$op[] = '</div><!-- end sponsorship -->';
return join("\n",$op)."\n";
V. быстро и вв грязно ... но работает