Master-X
Регистрация
|
Вход
Форум
|
Новости
|
Статьи
Главная
»
Форум
»
Программинг, Скрипты, Софт, Сервисы
»
Тема:
Ищу скрипт для перемешки урлов в текстовом файле
Новая тема
Ответить
цитата
26/08/07 в 13:09
Johna
нужно чтобы скрипт смог миксовать урлы, например:
есть такой файл с урлами
1
2
3
4
5
после обработки нужен примерно такой результат
4
2
5
1
3
у меня уже есть подобный скрипт
<?php
$url=file('url.txt');
shuffle($url);
$f=fopen('url_round.txt','w');
foreach ($url as $u)
fwrite($f,rtrim($u)."\r\n");
fclose($f);
?>
он миксует хорошо небольшие файлы, но когда в файле примерно 200 урлов то мешанина получаеться не качественная =)
Кто может подсказать если уже готовые такого рода скрипты или может быть кто сможет доработать уже существующий скрипт ?
цитата
26/08/07 в 13:15
Kn
могу предложить shuffle от перла
мешаю файлы по 300-500 урлов - нормально получается
ЗЫ а два раза пропустить не пробовал?)
цитата
26/08/07 в 14:04
Palmowner
прога Raptor умеет за минутку перемешивать файлики по 200 метров
цитата
26/08/07 в 14:07
Johna
пробовал, без изменений практически
если нормально мешает, интересно попробовать =)
цитата
26/08/07 в 15:52
Johna
Palmowner писал:
прога Raptor умеет за минутку перемешивать файлики по 200 метров
где ее качнуть можно ?
цитата
26/08/07 в 20:24
Palmowner
вот залил со своего дистриба
http://rapidshare.com/files/51428643/raptor.zip.html
цитата
26/08/07 в 22:49
Johna
спасибо парни за помощь, но оказываеться этот скрипт
<?php
$url=file('url.txt');
shuffle($url);
$f=fopen('url_round.txt','w');
foreach ($url as $u)
fwrite($f,rtrim($u)."\r\n");
fclose($f);
?>
прекрасно работает, а я чуток протормозил
Сибтор привет ;)
цитата
27/08/07 в 18:48
Cibtor
Кармы отсыпь
цитата
28/08/07 в 10:55
Zhidrons
вообще, строго говоря, shuffle() не самый быстрый способ перемешать массив. запамятовал где точно обсуждалось на ру-борде эта тема. Существует более быстрый алгоритм
цитата
28/08/07 в 19:20
eugenyZ
ещё вариант
$maxx=10; // -- числа будут от 1 до $maxx
$maxn=5; // -- всего $maxn чисел в массиве
$x=array(); // здесь будет массив наших чисел
$tmp=array(); // временный массив
for ($i=0; $i<$maxn; $i++) {
do {
$a=rand(1,$maxx);
} while(isset($tmp[$a]));
$tmp[$a]=1;
$x[]=$a;
}
unset($tmp);
for ($i=0; $i<count($x); $i++) echo "$x[$i] ";
цитата
28/08/07 в 22:54
Cibtor
Zhidrons писал:
вообще, строго говоря, shuffle() не самый быстрый способ перемешать массив. запамятовал где точно обсуждалось на ру-борде эта тема. Существует более быстрый алгоритм
Ну во всяком случае во всех факах и доках по РНР пишут, что нефиг выдумывать свой алгоритм если уже есть стандартная функция, всеравно быстрее не будет
цитата
04/09/07 в 16:44
_s_[sov]
а я бы предпочел заюзать array_rand()
Новая тема
Ответить
Эта страница в полной версии