【问题标题】:PHP Switch case help. Should be simple?PHP Switch 案例帮助。应该很简单吧?
【发布时间】:2013-12-09 22:09:06
【问题描述】:

我正在创建这个横幅旋转 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" />

希望您能提供帮助!谢谢。

【问题讨论】:

  • 你为什么不坚持阵列?容易得多。让url为数组键,图片为值,那么你就可以直接显示一个随机数组值而无需任何开关。
  • 混合大小写关键字 (Echo) 可以使用 afaik,但最好按照手册中的内容编写它们。关键字为小写,类为驼峰式。

标签: php arrays switch-statement


【解决方案1】:

您的语法不正确。只需要使用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;
}

【讨论】:

  • 感谢您的回答。刚试了一下,还是一样。图像发生了变化,但它只是停留在 www.jackhair.co.uk
  • 在他的代码中,$visit 将是一个字符串($banners 数组元素之一),而不是整数。
  • 虽然我的回答内容仍然正确,但代码不会。我已经更新以反映它们的实际值。
  • 抵消未声明的反对票,对我来说似乎很好。
【解决方案2】:

做:

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

而不是其他方式。这样你就可以在 $visit 变量中保持 int 值是随机的,而不是图像 url。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多