Что такое хороший алгоритм, который перетасовывает массив или массивы, используя веса из вложенных массивов?
Пример:
$array = array(
array("name"=>"John", "rank"=>3),
array("name"=>"Bob", "rank"=>1),
array("name"=>"Todd", "rank"=>8),
array("name"=>"Todd", "rank"=>14),
array("name"=>"Todd", "rank"=>4)
);
Я хочу, чтобы массив случайным образом перемешивался, но я хочу, чтобы значение rank
было весом. Таким образом, те, у кого низкий номер, с большей вероятностью будут наверху списка.
Я экспериментировал с несколькими вещами, такими как перебор массива и извлечение массивов, выбранных с помощью mt_rand(mt_rand(0,$value),$value)
, но я не думаю, что я на правильном пути ...