- 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]; //Вот вам и произвольная строка из файла
Впрочем, надеюсь, что этот массив в ПХП делается через отображение файлов на память, чем через его полное чтение...
Но не удивлюсь, если ПХП действительно прочитает весь файл. :D
"что-бы"
http://www.gramma.ru/RUS/?id=4.41
вот правильная ссылка. Если и это не поможет, буду сканировать орфографический словарь.
http://www.gramma.ru/RUS/?id=4.53
извращение, но зато не грузит весь файл в память.
Это же не связка с ресурсом. А тупое считывание и запись в массив.
При такой тупой реализации этого процесса в PHP, это, конечно, работать быстро не будет. При правильном - работало бы быстро.
я делал как-то :)
ведет себя как массив. подчитывает из файла. ниче постыдного в том что нахуячено не вижу - все от задач зависит.
Женщин отличает от мужчины не наличие "причиндалов" (сейчас всякие операции проводят), а потенциальная запрограммированная возможность вынашивать и рожать детей (XX-хромосома).
а потом их имеет
http://www.youtube.com/watch?v=rIW-vLTwtmI
Согласен.
и хранить как filename.txt.index.
Но такая каша для реально больших файлов. Для маленьких #5175 вполне сгодится.
Только вот некоторые обучившиеся этому методу применяют его для всех файлов...
Но вот мне интересно, а в этом случае файл всё равно будет полностью загружен в память?
Решили загрузить файл в память 2 раза?
(:
отношения вероятностей выбора строк пропорциональны отношению длинн строк. и где тут нормальное распределение?
Если нужно => метод2.
это конечно же не просьба.
да дофига же методов. я про то, что ваш - работает не так.
Впрочем, дальнейшее продолжение этой ветки бессмысленно. Я согласен, что тык в файл - не лучший вариант для нормального распределения вероятности.
>> вольность, безосновательность, необоснованность, свобода
и проч. синонимы как-бы согласуются с концепцией автора, согласно которой, строка выбирается из списка функцией, дающей распределение близкое к нормальному(rand(0,$count-1);), и не делающей различий между строками.
у вас же вероятность выбора строки основывается на ее длинне, привязана к ее длинне, оправдывается ее длинной, или как вам еще написать, чтобы вы поняли, что слово всем понятно, но вы совершенно не по делу ерзаете, глупо ошибившись предположением?
и потом - глупости пишите. вы в файл тыкаете так: rand(0, filesize), а это замечательный способ получить нормальное распределение по байтам.
говнокоды, в последнее время, стали добрее и глупее. а что поделать-с. рак-с.
Не хватило? Нужно было написать "О, да, я такой дурак. Сразу не понял. Конечно, это всё так, а не так, как у меня. И да, не лучший вариант для распределения вероятности строкам, а не байтам.."?
Не стоит придираться к предложением. Русский язык не имеет чёткого синтаксиса.
"я согласен" не хватило вам. зачем было давать ссылку на странную подборку синонимов и завршать свой пост синтаксически не полным предложением? только для того, чтобы чувствовать себя лучше? ставить за собой последнее слово?
вот и сейчас, когда нам все понятно и мы со всем согласны вы указываете мне, чего делать не стоит и рассуждаете о русском языке. попробуйте общаться по-другому - без лишних слов. может быть вам не понравится, но, я вас уверяю, опыт окажется полезным.
лучше бы пхп предоставлял простую связку с файлом.
Ну вот например, перл умеет работать с dbm файлами как с хешем, и если хеш читать через each, то из файла берется только одна пара ключ-значение, а не весь файл.
Быть может, не лучший пример, но на мысли наталкивает
sic!