2013-12-09 48 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')將起作用,但最好將它們寫在手冊中。關鍵字小寫,駱駝大小寫。 – halfer

回答

2

務必:

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

而不是相反。這樣你可以將int值保存在$ visit變量中,而不是圖片url。

+0

阿哈它的作品!謝謝你,先生 – MrTurvey

3

您的語法不正確。你只需要在case語句使用的值:

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

雖然我的答案的實質仍然是正確的代碼不會。我已更新以反映其實際值。 –