不区分大小写的函数参数

时间:2016-09-15 18:48:35

标签: php

有没有办法让php函数参数不区分大小写?现在我正在寻找“穿越”这个词,但“穿越”并不匹配。如何使这个参数不区分大小写,所以我没有||每种类型的套管都可以放入(如果可能的话)

功能:

function endsWith($haystack, $needle) {
    return $needle === "" || (($temp = strlen($haystack) - strlen($needle)) >= 0 && strpos($haystack, $needle, $temp) !== false);
}

PHP:

if(endsWith($searchResults, "Crossing")) {
    $searchResults = str_replace("Crossing", "Xing", $searchResults);
}

使用以下方法解决了这个问题:

if(stripos($searchResults, "Crossing")) {
    $searchResults = str_ireplace("Crossing", "Xing", $searchResults);
}

1 个答案:

答案 0 :(得分:0)

您正在寻找strnatcasecmp()

if( strnatcasecmp($varA, $varB) )

参考:http://php.net/manual/en/function.strnatcasecmp.php

您也可以使用strtolower()或strtoupper()进行比较。例如:

if( 'test' == strtolower($variable) )

我个人只是使​​用后者,只要我知道预期的内容,但为了比较两个真正的变量,其中case是非敏感的,strnatcasecmp()是要走的路。