【问题标题】:PHP Switch with simple strings not working带有简单字符串的PHP开关不起作用
【发布时间】:2016-12-28 02:04:53
【问题描述】:
$url = $_SERVER['REQUEST_URI'];
$url = basename($url).PHP_EOL;

switch ($url) {
    case 'digital-marketing-and-seo':
        $new_url = "Digital Marketing & SEO";
        break;
    case 'websites-digital-destinations':
        $new_url = "Websites & Digital Destinations";
        break;
    case 'brand-identity-evolution':
        $new_url = "Brand Identity & Evolution";
        break;
    case 'strategy-consulting':
        $new_url = "Strategy & Consulting";
        break;
    case 'government-universities':
        $new_url = "Government & Universities";
        break;
    case 'hospitality-travel':
        $new_url = "Hospitality & Travel";
        break;
    case 'architecture-engineering':
        $new_url = "Architecture & Engineering";
        break;
    case 'wine-spirits':
        $new_url = "Wine & Spirits";
        break;
    default:
        $new_url = '';
        echo 'default derp';
}

所以我有这个代码块,它对我不起作用。该 url 可以准确地说明案例中的内容,并且它将默认。我正在尝试获取 url 结构来构建一个简码,我需要它来匹配输入的内容。

我确定如果我输入,只需为 $url = 'brand-identity-evolution'; 的字符串添加一个变量;开关工作。我确定它是一个带有 is_string 函数的字符串,但不知道为什么它不起作用。

【问题讨论】:

    标签: php switch-statement


    【解决方案1】:

    您在 URL 的末尾添加了 PHP_EOL,因此您的所有案例都将失败,因为您没有检查它。删除你的PHP_EOL,你会没事的。

    【讨论】:

    • 太棒了!这是漫长的一天。谢谢。
    • 不客气。如果它解决了您的问题,请务必将其标记为答案
    • 是的,由于回答的速度,昨晚它不会让我这样做。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2014-06-09
    • 1970-01-01
    相关资源
    最近更新 更多