本篇文章介绍如何在 PHP 中忽略字符大小写。
PHP 比较字符串时忽略大小写
有时在比较两个字符串时,我们需要忽略两个字符串的大小写。 PHP 提供了一个内置方法 strcasecmp()
来比较两个字符串,同时忽略大小写。
strcasecmp()
方法有两个参数; 两者都是将要比较的字符串。 此方法将返回值:
此方法仅比较字符串,然后返回一个值。 如果字符串只是大小写不同,它总是返回 0。
参见示例:
<?php
$String1 = "This is jiyik.com";
$String2 = "This is jiyik.com";
// Both the strings are equal in case
$Result=strcasecmp($String1, $String2);
echo "The result for two equal strings is: ".$Result."<br>";
$String1 = "this is jiyik.com";
$String2 = "THIS IS JIYIK.COM";
// first string is lowercase than the second string
$Result=strcasecmp($String1, $String2);
echo "The result for first string lowercase and second string uppercase is : ".$Result."<br>";
$String1 = "THIS IS JIYIK.COM";
$String2 = "this is jiyik.com";
// first string is uppercase, then the second string
$Result=strcasecmp($String1, $String2);
echo "The result for first string uppercse and second string lowercase is: ".$Result;
?>
上面的代码将比较字符串,同时忽略字符串有不同大小写的情况。 查看输出:
The result for two equal strings is: 0
The result for first string lowercase and second string uppercase is : 0
The result for first string uppercse and second string lowercase is: 0
正如我们在方法 strcasecmp()
中看到的,所有小写、大写和句子大小写的字符串都是相等的; 这就是为什么它总是返回 0 的原因。让我们尝试一个字符串不等于单词或字符的例子:
<?php
$String1 = "jiyik.com";
$String2 = "THIS IS JIYIK.COM";
// first string is lowercase, then the second string
$Result=strcasecmp($String1, $String2);
echo "The result for first string is lower then second string : ".$Result."<br>";
$String1 = "THIS IS JIYIK.COM";
$String2 = "jiyik.com";
// First string is greater then second string
$Result=strcasecmp($String1, $String2);
echo "The result for first string is greater then second string: ".$Result;
?>
strcasecmp()
方法将返回一个负数或正数的数值。 查看输出结果:
The result for first string is lower then second string : -10
The result for first string is greater then second string: 10