есть например 3 файла - 1.txt, 2.txt, 3.txt 1.txt PHP: дерево камень вода ........ 2.txt PHP: хороший плохой средний ....... 3.txt PHP: цена стоимость купить .... как на выходе получить список из строк вида камень средний стоимость вода средний купить ........ т.е рандомно мешать строчки
пхх.. Значит берем функцию рандом по количеству строк в 3-ех файлах.. и о чудо. считываем нужные строки.. и все (=.
PHP: <?php $fp1=fopen("a.txt", "r"); $fp2=fopen("b.txt", "r"); while(!feof($fp1)) { $txt=fgets($fp1, 1024); if(strlen($txt) < 1) continue; $txt = substr($txt, 0, strlen($txt)-2); while(!feof($fp2)) { $txt2 .=fgets($fp2, 1024); if(strlen($txt2) < 1) continue; echo $txt." ".$txt2."<br>"; $txt2 =""; } fseek($fp2, 0, SEEK_SET); } fclose($fp1); fclose($fp2); ?> как добавить еще 1 файл
охох.. это же не совсем то, в смысле совсем не то, что вам надо. (= Написали бы.. уже.. "напишите за меня скрипт". ... PHP: $fp3=fopen("c.txt", "r"); Вот так его добавить (=. и соответственно.. блин.. 3-ий вложенный цикл сделать. Т.Е. PHP: while(не прочитали до конца файл1){ читаем строку из файла 1 while(не прочитали до конца файл2){ читаем строку из файла 2 while(не прочитали до конца файл3){ читаем строку из файла 3. выводим куда-надо.. или записываем в какой-нибудь файл. } } }
Написали бы.. уже.. "напишите за меня скрипт". так и есть - я так глубоко в пшп не разбираюсь... помоги пожалуйста
PHP: <?php $f1=file("1.txt"); $f2=file("2.txt"); $f3=file("3.txt"); $r1=array_rand($f1); echo $f1[$r1]; $r2=array_rand($f2); echo $f2[$r2]; $r3=array_rand($f3); echo $f3[$r3]; ?>
а почему только одно значение? можно задать какуюнить переменную в которой можно указать число нужных значений? как сдлеать цикл? на 1000 записий например
PHP: <?php $c = "3";//количество элементов $f1=file("1.txt"); $f2=file("2.txt"); $f3=file("3.txt"); $r1=array_rand($f1, $c); foreach($r1 as $r){ echo $f1[$r]."\n"; } $r2=array_rand($f2, $c); foreach($r2 as $r){ echo $f2[$r]."\n"; } $r3=array_rand($f3, $c); foreach($r3 as $r){ echo $f3[$r]."\n"; } ?> Поподробнее про цикл.
ага почти то = только ставлю 90 и все ниче неработает т.е лимит какойто есть? и хотелось бы перенос строк типа как <br> и неправильно теперь мешает..
PHP: <?php $count = "2";//сколько раз вывести $array[]=file("1.txt"); $array[]=file("2.txt"); $array[]=file("3.txt"); while($x++<$count){ for($i=0;$i<3;$i){$qwe=$i++; $rand=rand(0, count($array[$qwe])-1); echo "word: ".$array[$qwe][$rand]."<br>"; } } ?>