strripos似乎对我不起作用

时间:2013-08-16 13:36:13

标签: strpos

我正在尝试使用strripos,事实上我尝试将一个参数添加到URL来翻译我的网站,

事实是,没有超过请求的网址确实有一个参数所以我不能每次都&lang=en,但我需要做?lang=en

我尝试使用strripos这样的功能

/**
 * Fonction qui renvoit le bon caractère en tant que paramètre
 * @param type $string
 * @return string
 */
function checkParam($string){
    $lookfor = "?";
    $position = strripos($string, $lookfor);
    if($position === true){
    return "&";
    }else{
    return "?";
    }
}

我有例如url:$url_courante = $_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

给我这样的东西

www.mydomain.eu/index.php?p=nos-produits

但是它无法识别该字符串中的?,所以它总是向我返回false,我无法将我的lang正确设置为url。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

strripos会返回一个整数或false,而不是true。切换条件并检查false

function checkParam($string){
    $lookfor = "?";
    $position = strripos($string, $lookfor);
    if($position === false){
        return "?";
    }else{
        return "&";
    }
}

此外,不需要strripos,因为您只是检查字符串是否存在。如果找到第一个或最后一个并不重要。当您搜索问号时,案例也不是问题。我会改用strpos