2016-12-28 115 views
1
$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结构来构建一个简码,我需要它来匹配输入的内容。PHP Switch with simple strings not working

我确定如果我只为$ url ='brand-identity-evolution'字符串添加一个变量,交换机工作。我确定它是一个带有is_string函数的字符串,并且无法弄清楚为什么这不起作用。

回答

3

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

+1

太棒了!这是一个漫长的一天。谢谢。 –

+0

不客气。如果它解决了您的问题,请务必将其标记为答案 –

+1

是的,由于答案的敏捷性,它不会让我昨晚。 –