2013-12-09 5 views
0

Я создаю этот скрипт с вращающимся PHP-скриптом (я новичок в PHP) и задавался вопросом, почему мои дела не работают. Я могу получить случайное изображение для отображения через массив, хотя я не могу заставить дела работать.PHP. Должно быть просто?

Я хотел бы так, если изображение от случайного массива является 0 изображения, он будет говорить визит jackhair.co.uk и если случайное изображение из массива 2 будет сказать jamiehair.co.uk

<?php 
/*Creates an array called banners which holds all the images of banners */ 
$banners=array("img/reversessh.jpg","img/failtwo.jpg","img/iptable.jpg"); 
$random = ($banners[(rand(0,2))]); 
$visit = $random; 

switch($visit) 
{ 
case $visit = 0: 
    Echo "Visit www.jackhair.co.uk"; 
    break; 
case $visit = 1: 
    Echo "Visit www.lukehair.co.uk"; 
    break; 
case $visit = 2: 
    Echo "Visit www.jamiehair.co.uk"; 
    break; 
default: 
    null; 
} 

?> 

<img src="<?= $random ?>" alt="Rotating Banners" /> 

Надеюсь, вы сможете помочь! Спасибо.

+1

Почему бы вам не придерживаться массивов? Намного легче. Сделайте url ключом массива, а изображение - значением, затем вы можете просто показать случайное значение массива без какого-либо переключателя. – Jessica

+0

Ключевые слова в смешанном ключе ('Echo') будут работать afaik, но рекомендуется писать их, как они указаны в руководстве. Нижний регистр для ключевых слов, верблюжьей кейс для занятий. – halfer

ответ

2

Do:

$visit = rand(0,2); 
$random = $banners[$visit]; 

Вместо наоборот. Таким образом, вы сохраняете значение int случайным в переменной $ visit, а не URL-адресе изображения.

+0

Ага это работает! Спасибо, хороший сэр – MrTurvey

3

Ваш синтаксис неверен. Вам нужно всего лишь использовать значение в случае утверждения:

switch($visit) 
{ 
    case 'img/reversessh.jpg': 
     echo "Visit www.jackhair.co.uk"; 
     break; 
    case 'img/failtwo.jpg': 
     echo "Visit www.lukehair.co.uk"; 
     break; 
    case 'img/iptable.jpg': 
     echo "Visit www.jamiehair.co.uk"; 
     break; 
    default: 
     null; 
} 
+0

Спасибо за ответ. Просто попробовал это, и все равно. Изображение меняется, но оно просто застряло на www.jackhair.co.uk – MrTurvey

+0

В его коде '$ visit' будет строкой (одним из элементов массива' $ banners'), а не целым числом. – jszobody

+0

Хотя суть моего ответа по-прежнему верна, кода не будет. Я обновился, чтобы отразить их фактические значения. –

Смежные вопросы