www.gcmsite.ru

Новости Программы PHP-скрипты Статьи Числа
Услуги Резюме Игры Автомобили Поиск

СИСТЕМНОЕ И ВЕБ-ПРОГРАММИРОВАНИЕ
компьютерная техника, игры

PHP: Случайный вывод за 3 минуты

Займемся php-программированием. На различных сайтах Вы могли заметить разделы: Анекдот, Совет, Мудрость, Ссылка. В подобных разделах появлялась какая-то информация, изменяемая при перезагрузке страницы.

Попробуем создать механизм вывода случайной информации. Оформим код в виде функции - это позволит вставлять код вывода текста в любое место программы неограниченное количество раз.

. . .
echo print_txt(); 
. . .

Наша функция print_txt() имеет следующий вид:

function print_txt(){
  $cf1 = @file("text.txt");
  $i = rand (0, sizeof($cf1));
  return $cf1[$i];
}

На выходе функции будет строка из текстового файла text.txt. Всё очень просто. Код функции оптимизирован по быстродействию, правда, в ущерб стабильности. Правильным, но более медленным, будет следующий код:

function print_txt(){
  $cf1 = @file("text.txt");
  $co = sizeof ($cf1);
  if ($co == 0){return "";}
  $i = rand (0, $co);
  return $cf1[$i];
}

Теперь функция защищена от несуществующего или пустого файла text.txt.

Подобным образом можно использовать эту функцию для обращения к различным файлам, и выводу информации разных типов.

. . .
echo print_txt("text1.txt");
echo print_txt("text2.txt");
echo print_txt("text3.txt");
. . .

Код функции изменится только в двух первых строках. Смотрите внимательнее:

function print_txt($fn){
  $cf1 = @file($fn);

Приятных минут php-программирования.


Prolog — это язык логического программирования. Он является декларативным языком: вся стуктура программы представлена в виде правил и фактов. На нем можно строить экспертные системы, генерирующие ответы вида true (истина) или false (ложь). Пролог хорошо подходит для автоматического перебора вариантов решений с возвратами. Язык не требует написания большого объемного кода и позволяет получать отличные результаты.

Интересные материалы на сайте:

Автор, разработчик: Шаров Евгений   (gcmsite@yandex.ru)
(c) 2000-2020 GCM-Site - системное и веб-программирование
Цитирование материалов сайта возможно только при наличии гиперссылки