Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Скриптик, который бы выводил случайную фразу из массива или текстового файла

Сообщения:  [1-10]   [11-12] 

 
 автор: Visavi   (13.04.2008 в 12:08)   письмо автору
 
   для: BrokenBrake   (13.04.2008 в 01:33)
 

<?
$file 
file("base.txt");
$rand array_rand($file);
echo 
$file[$rand];

   
 
 автор: BrokenBrake   (13.04.2008 в 01:33)   письмо автору
 
   для: Lstasss   (12.04.2008 в 11:01)
 

Вы правы, shift там вообще ни к чему.

   
 
 автор: Lstasss   (12.04.2008 в 11:01)   письмо автору
 
   для: BrokenBrake   (12.04.2008 в 02:58)
 

а зачем array_shift? Вы используете этот массив где-то дальше? Если нет, то
$test=$array[0];
. Можно попробовать замерить скорость, который из вариантов самый быстый.

   
 
 автор: BrokenBrake   (12.04.2008 в 02:58)   письмо автору
 
   для: DJ Paltus   (22.01.2008 в 02:02)
 

Ура! А я только что придумал сам простейшее решение :) Гораздо проще, чем примеры до этого. Вообще, я не специалист... может есть какие-то недостатки у моего способа? Работает.

$array = file('example.txt');
shuffle($array);

$test = array_shift($array);

echo $test;

   
 
 автор: DJ Paltus   (22.01.2008 в 02:02)   письмо автору
 
   для: 123php   (20.01.2008 в 13:51)
 

Дарю! ))
Файл aph.txt в аттаче.
Смысл в том, что в нем строка - афоризм, вторая - автор. И выводим пары рэндомом:


<?php
$aph
=file("aph.txt"); //ну или возьми любой массив
$colvo=count($aph);
$i=rand(0$colvo-1);
if (
round($i/2)!=$i/2){$i=$i-1;}
$j=$i+1;
print(
"$aph[$i]<br>");
print(
"<i>$aph[$j]</i>");
?>

   
 
 автор: hell_riser   (22.01.2008 в 00:58)   письмо автору
 
   для: 123php   (22.01.2008 в 00:29)
 

Только подключайте как

<?
include("rand_fraz.php");
?>

Вот пример работающий, но украденый(самому пока нет времени писать)

<?php
$lin 
file("file.dat");//Читаем файл
$i=count($lin)-1;
srand((double) microtime()*1000000);
$i=rand(0,$i); // выбираем случайное число 
$dt=explode("|"$lin[$i]);
?>

   
 
 автор: Freddie_X   (22.01.2008 в 00:48)   письмо автору
 
   для: 123php   (22.01.2008 в 00:29)
 

Нужен php файл, а не html.

   
 
 автор: 123php   (22.01.2008 в 00:29)   письмо автору
 
   для: 123php   (21.01.2008 в 00:38)
 

что-то не хочет работать.... вставил этот код в html файл шаблона... в папку шаблона также добавил файл с фразами, где кажданя фраза с новой строки... но ничего не выводится... почему?

   
 
 автор: 123php   (21.01.2008 в 00:38)   письмо автору
 
   для: 123php   (20.01.2008 в 13:51)
 

спасибо

   
 
 автор: Unkind   (20.01.2008 в 14:22)   письмо автору
 
   для: cheops   (20.01.2008 в 14:16)
 

Для получения случайного ключа есть array_rand().

   

Сообщения:  [1-10]   [11-12] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования