- 1
- 2
- 3
- 4
$data_array = file('./dir/file.txt'); //Прочитали файл в массив
$count = count($data_array); //Подсчитали количество элементов массива
$chislo = rand(0,$count-1); //Так как элементы массива имеют ключи с 0 до $count-1
echo $data_array[$chislo]; //Вот вам и произвольная строка из файла
guest 07.01.2011 20:19 # −2
Впрочем, надеюсь, что этот массив в ПХП делается через отображение файлов на память, чем через его полное чтение...
Но не удивлюсь, если ПХП действительно прочитает весь файл. :D
Int 08.01.2011 13:50 # 0
Lure Of Chaos 08.01.2011 14:12 # −4
"что-бы"
Int 09.01.2011 14:42 # +3
Lure Of Chaos 09.01.2011 14:44 # −2
Uchkuma 10.01.2011 00:09 # +1
Int 12.01.2011 23:41 # +1
http://www.gramma.ru/RUS/?id=4.41
вот правильная ссылка. Если и это не поможет, буду сканировать орфографический словарь.
Lure Of Chaos 12.01.2011 23:45 # 0
Uchkuma 10.01.2011 00:04 # 0
Int 13.01.2011 00:02 # 0
http://www.gramma.ru/RUS/?id=4.53
Uchkuma 10.01.2011 00:09 # +1
ErmineMD 07.01.2011 20:57 # 0
mindfreakthemon 07.01.2011 22:12 # +2
mindfreakthemon 07.01.2011 22:18 # 0
извращение, но зато не грузит весь файл в память.
guest 07.01.2011 23:04 # −1
mindfreakthemon 07.01.2011 23:09 # 0
Это же не связка с ресурсом. А тупое считывание и запись в массив.
guest 07.01.2011 23:45 # −1
При такой тупой реализации этого процесса в PHP, это, конечно, работать быстро не будет. При правильном - работало бы быстро.
brainstorm 08.01.2011 02:41 # 0
я делал как-то :)
ведет себя как массив. подчитывает из файла. ниче постыдного в том что нахуячено не вижу - все от задач зависит.
guest 08.01.2011 03:21 # −1
brainstorm 08.01.2011 03:26 # −2
guest 08.01.2011 03:37 # +1
Женщин отличает от мужчины не наличие "причиндалов" (сейчас всякие операции проводят), а потенциальная запрограммированная возможность вынашивать и рожать детей (XX-хромосома).
Lure Of Chaos 08.01.2011 13:01 # 0
а потом их имеет
guest 08.01.2011 23:00 # +2
guest 07.08.2012 15:27 # +2
3.14159265 07.08.2012 16:48 # +1
http://www.youtube.com/watch?v=rIW-vLTwtmI
3.14159265 07.08.2012 16:49 # +1
Согласен.
ErmineMD 07.01.2011 23:50 # 0
mindfreakthemon 07.01.2011 23:55 # 0
и хранить как filename.txt.index.
Но такая каша для реально больших файлов. Для маленьких #5175 вполне сгодится.
ErmineMD 07.01.2011 23:57 # 0
guest 07.01.2011 23:57 # −1
Только вот некоторые обучившиеся этому методу применяют его для всех файлов...
Lure Of Chaos 08.01.2011 00:27 # 0
mindfreakthemon 08.01.2011 02:06 # 0
DeaDrash 08.01.2011 00:55 # −8
Но вот мне интересно, а в этом случае файл всё равно будет полностью загружен в память?
ErmineMD 08.01.2011 01:02 # 0
DeaDrash 08.01.2011 01:06 # −2
guest 08.01.2011 01:23 # +4
Решили загрузить файл в память 2 раза?
brainstorm 08.01.2011 02:42 # 0
(:
da4ever 08.01.2011 03:40 # 0
отношения вероятностей выбора строк пропорциональны отношению длинн строк. и где тут нормальное распределение?
mindfreakthemon 08.01.2011 03:43 # 0
Если нужно => метод2.
da4ever 08.01.2011 19:04 # 0
это конечно же не просьба.
да дофига же методов. я про то, что ваш - работает не так.
mindfreakthemon 08.01.2011 19:11 # 0
Впрочем, дальнейшее продолжение этой ветки бессмысленно. Я согласен, что тык в файл - не лучший вариант для нормального распределения вероятности.
da4ever 09.01.2011 02:22 # 0
>> вольность, безосновательность, необоснованность, свобода
и проч. синонимы как-бы согласуются с концепцией автора, согласно которой, строка выбирается из списка функцией, дающей распределение близкое к нормальному(rand(0,$count-1);), и не делающей различий между строками.
у вас же вероятность выбора строки основывается на ее длинне, привязана к ее длинне, оправдывается ее длинной, или как вам еще написать, чтобы вы поняли, что слово всем понятно, но вы совершенно не по делу ерзаете, глупо ошибившись предположением?
и потом - глупости пишите. вы в файл тыкаете так: rand(0, filesize), а это замечательный способ получить нормальное распределение по байтам.
говнокоды, в последнее время, стали добрее и глупее. а что поделать-с. рак-с.
mindfreakthemon 09.01.2011 11:50 # 0
Не хватило? Нужно было написать "О, да, я такой дурак. Сразу не понял. Конечно, это всё так, а не так, как у меня. И да, не лучший вариант для распределения вероятности строкам, а не байтам.."?
Не стоит придираться к предложением. Русский язык не имеет чёткого синтаксиса.
da4ever 09.01.2011 15:31 # 0
"я согласен" не хватило вам. зачем было давать ссылку на странную подборку синонимов и завршать свой пост синтаксически не полным предложением? только для того, чтобы чувствовать себя лучше? ставить за собой последнее слово?
вот и сейчас, когда нам все понятно и мы со всем согласны вы указываете мне, чего делать не стоит и рассуждаете о русском языке. попробуйте общаться по-другому - без лишних слов. может быть вам не понравится, но, я вас уверяю, опыт окажется полезным.
koodeer 09.01.2011 23:46 # +1
guest 09.01.2011 23:58 # −1
Lure Of Chaos 07.01.2011 23:26 # −1
лучше бы пхп предоставлял простую связку с файлом.
Ну вот например, перл умеет работать с dbm файлами как с хешем, и если хеш читать через each, то из файла берется только одна пара ключ-значение, а не весь файл.
Быть может, не лучший пример, но на мысли наталкивает
Lure Of Chaos 07.01.2011 23:27 # −1
Govnocoder#0xFF 08.01.2011 13:24 # 0
sic!