Поиск по блогу

воскресенье, 30 октября 2011 г.

Заказали скрипт... Думал сделаю за 5 минут, оказывается не все так просто


Заказали скрипт... Думал сделаю за 5 минут, оказывается не все так просто... Вот думаю
я как же сделать? Значит была задача такая, есть на сайте два блока, один слева сверху, другой снизу, и есть три тизерные сети "TeaserNet, BodyClick и Adsyt" надо, чтобы с начало выбирало рандомно (уже знакомой нам функцией rand(), если вы читали мои посты знаете уже что это), две тизерные сети, но не одинаковые, т.е. обе тизерки разные, а потом еще рекламные коды рандомно подобрать, учитывая что кодов может быть 2, а может и 7.
Вот код с комментами (если, что не ясно постите в комментарии ваш вопрос.):

<?php

// Создаем массив с тизерными сетями
$array = array();
$array[] = "teasernet";
$array[] = "adsyt";
$array[] = "bodyclick";

// Создаем массив с рекламными кодами для тизерной сети TeaserNet
$teasernet = array();
$teasernet[] = "teasernet - реклама №1";
$teasernet[] = "teasernet - реклама №2";
$teasernet[] = "teasernet - реклама №3";
// Считаем сколько рекламных кодов, и выбираем случайный
$teasernet_count = count( $teasernet ) - 1;
$teasernet_rand = rand ( 0, $teasernet_count );

// Создаем массив с рекламными кодами для тизерной сети adsyt
$adsyt = array();
$adsyt[] = "adsyt - реклама №1";
$adsyt[] = "adsyt - реклама №2";
$adsyt[] = "adsyt - реклама №3";
// Считаем сколько рекламных кодов, и выбираем случайный
$adsyt_count = count( $teasernet ) - 1;
$adsyt_rand = rand ( 0, $adsyt_count );

// Создаем массив с рекламными кодами для тизерной сети bodyclick
$bodyclick = array();
$bodyclick[] = "bodyclick - реклама №1";
$bodyclick[] = "bodyclick - реклама №2";
$bodyclick[] = "bodyclick - реклама №3";
// Считаем сколько рекламных кодов, и выбираем случайный
$bodyclick_count = count( $teasernet ) - 1;
$bodyclick_rand = rand ( 0, $bodyclick_count );

// Считаем сколько тизерок, и выбираем случайные два
$array_count = count( $array ) - 1;
$array_tizerrand1 = rand ( 0, $array_count );
$array_tizerrand2 = rand ( 0, $array_count );

// проверяем не равны ли рандомные числа для первого и второго числа
// на всякий случай делаем это столько раз сколько у нас тизерных сетей
if( $array_tizerrand1 == $array_tizerrand2 ){
$array_tizerrand2 = rand ( 0, $array_count );
}
if( $array_tizerrand1 == $array_tizerrand2 ){
$array_tizerrand2 = rand ( 0, $array_count );
}
if( $array_tizerrand1 == $array_tizerrand2 ){
$array_tizerrand2 = rand ( 0, $array_count );
}

// используем функцию switch case подробнее в гугле
// так для блока слева и снизу
// можно сказать это очень похоже на функцию if else
// если переменная $array[$array_tizerrand1] равна одной из case то что в скобках
// тогда выполняется код от : до функции break; остановки.
// вроде все ясно
switch ($array[$array_tizerrand1]) {
case "teasernet":
echo "Блок слева: " . $teasernet[ $teasernet_rand ] . "
";
break;

case "adsyt":
echo "Блок слева: " . $adsyt[ $adsyt_rand ] . "
";
break;

case "bodyclick":
echo "Блок слева: " . $bodyclick[ $bodyclick_rand ] . "
";
break;

}
switch ($array[$array_tizerrand2]) {
case "teasernet":
echo "Блок снизу: " . $teasernet[ $teasernet_rand ] . "
";
break;

case "adsyt":
echo "Блок снизу: " . $adsyt[ $adsyt_rand ] . "
";
break;

case "bodyclick":
echo "Блок снизу: " . $bodyclick[ $bodyclick_rand ] . "
";
break;

}
?>

вроде все, думаю все ясно.



Комментариев нет:

Отправить комментарий