문자열을 비교하는 PHP 함수: 1. strcasecmp(), 두 문자열의 대소문자 구분 비교 2. strcmp(), 두 문자열의 대소문자 구분 비교 3. strcoll(), 두 문자열 비교를 위한 로컬 설정 4. strnatcasecmp()는 대소문자를 구분하지 않으며 "자연 정렬" 알고리즘을 사용하여 두 문자열을 비교합니다. 5. strnatcmp()는 대소문자를 구분하지 않고 "자연 정렬" 알고리즘을 사용하여 두 문자열을 비교합니다. 문자열.
이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 8.1, DELL G3 컴퓨터
php에는 다양한 문자열 비교 기능이 내장되어 있습니다
Function | Description |
---|---|
strcasecmp( ) | 두 문자열을 비교합니다(대소문자 구분 안 함). |
strcmp() | 두 문자열을 비교합니다(대소문자 구분). |
strcoll() | 두 문자열을 비교합니다(로컬 설정에 따라). |
strnatcasecmp() | "자연 순서" 알고리즘을 사용하여 두 문자열을 비교합니다(대소문자 구분 안 함). |
strnatcmp() | "자연 순서" 알고리즘을 사용하여 두 문자열을 비교합니다(대소문자 구분). |
strncasecmp() | 처음 n 문자의 문자열 비교(대소문자 구분 안 함) |
strncmp() | 처음 n자의 문자열 비교(대소문자 구분) |
substr_compare() | 지정된 시작 위치에서 시작하는 두 문자열을 비교합니다(이진 안전 및 선택적으로 대소문자 구분). |
일반적으로 사용되는 문자열 비교 함수
1.strcmp() 함수 - 두 문자열을 대소문자를 구분하여 비교합니다.
strcmp(string1,string2) code> 두 문자열을 비교하는 경우: <code>strcmp(string1,string2)
比较两个字符串时,如果:
如果两个字符串相等,则会返回0
;
如果string1 小于 string2,则会返回 的值;
如果string1 大于 string2,则会返回> 0
0
이 반환됩니다. string1이 string2보다 작으면 값이 반환됩니다.
> >가 반환됩니다. <p><img src="https://img.php.cn/upload/image/890/419/489/162797046690039PHP%EC%97%90%EC%84%9C%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EB%B9%84%EA%B5%90%ED%95%98%EB%8A%94%20%EA%B8%B0%EB%8A%A5%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C?" title="162797046690039PHP에서 문자열을 비교하는 기능은 무엇입니까?" alt="PHP에서 문자열을 비교하는 기능은 무엇입니까?"></p> 먼저 다음 예를 살펴보겠습니다. <p><pre class="brush:php;toolbar:false"><?php
$str1="12";
$str2="12";
echo strcmp($str1,$str2)."<br>";
$str1="12";
$str2="13";
echo strcmp($str1,$str2)."<br>";
$str1="15";
$str2="13";
echo strcmp($str1,$str2)."<br>";
?></pre></p>출력: <p><br></p>
<p><br></p>strcmp() 함수는 문자열을 비교할 때 대/소문자를 구분합니다. <p><pre class="brush:php;toolbar:false"><?php
$str1="PHP中文网";
$str2="php中文网";
echo strcmp($str1,$str2)."<br>";
?></pre></p>출력 결과: <p><img src="https://img.php.cn/upload/image/580/361/959/1661945418832627.png" title="1661945418832627.png" alt="PHP에서 문자열을 비교하는 기능은 무엇입니까?"><pre class="brush:php;toolbar:false">-1</pre></p> 이 기능을 사용하면 웹사이트에 계정을 등록할 때 사용자 비밀번호 확인 기능에 사용할 수 있으며(비밀번호는 일반적으로 대소문자를 구분합니다.) 두 번 입력한 비밀번호가 일치하는지 비교할 수 있습니다. <p></p><pre class="brush:php;toolbar:false"><?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;php124@qq&#39;;
$pwd2 = &#39;php124@QQ&#39;;
if(strcmp($pwd1, $pwd2) != 0){
echo &#39;密码不匹配!&#39;;
} else {
echo &#39;密码匹配!&#39;;
}
?></pre><p>두 문자열이 완전히 일치하는 경우에만 strcmp() 함수는 두 문자열을 동일한 것으로 간주합니다. 위의 예에서 $pwd1과 $pwd2는 대소문자가 다르므로 두 문자열은 동일하지 않습니다. <strong></strong></p>
<p></p>하지만 때로는 문자열의 값만 비교하면 되고 웹사이트 URL 비교와 같이 대소문자를 구분하고 싶지 않은 경우가 있는데 어떻게 처리해야 할까요? 간단하게 strcasecmp() 함수를 사용할 수 있습니다. <p></p>
<p>2.strcasecmp() 함수 - 두 문자열을 대소문자를 구분하지 않고 비교합니다. </p>
<p><strong> strcasecmp() 함수는 strcmp() 함수와 유사하며 둘 다 문자열을 비교할 수 있으며 반환 값도 동일합니다. 유일한 차이점은 strcasecmp() 함수는 대소문자를 구분하지 않는다는 것입니다. </strong></p>다음 예를 살펴보겠습니다. <p><pre class="brush:php;toolbar:false"><?php
header("Content-type:text/html;charset=utf-8");
$url1="https://www.php.cn/";
$url2="HTTPS://WWW.PHP.CN/";
if(strcasecmp($url1, $url2) == 0){
echo &#39;两个网址相同&#39;;
} else {
echo &#39;两个网址不同&#39;;
}
?></pre></p>출력 결과: <table class="reference notranslate"><pre class="brush:php;toolbar:false">两个网址相同</pre><tbody>
<tr class="firstRow">3.strncasecmp() function--case insensitive<th width="20%"></th>
<th width="80%">strncasecmp() 함수는 두 문자열을 비교합니다(대소문자를 구분하지 않음). 구문은 다음과 같습니다</th><pre class="brush:php;toolbar:false">strncasecmp(string1,string2,length)</pre></tr>
<tr>
<td><em>Parameters</em></td>Description<td></td>
</tr>
<tr>
<td>string1<em></em>
</td>필수입니다. 비교할 첫 번째 문자열을 지정합니다. <td></td>
</tr>
<tr>
<td>string2<em></em>
</td>필수입니다. 비교할 두 번째 문자열을 지정합니다. <td></td>
</tr>
</tbody>
</table>length🎜🎜🎜필수입니다. 비교에 사용되는 문자열당 문자 수를 지정합니다. 🎜🎜🎜🎜<p>返回值:</p>
<ul style="list-style-type: disc;">
<li><p>0 - 如果两个字符串相等</p></li>
<li><p></p></li>
<li><p>>0 - 如果 string1 大于 string2</p></li>
</ul>
<p><strong>示例:</strong></p><pre class="brush:php;toolbar:false"><?php
echo strncasecmp("Hello world!","hello earth!",6);
?></pre><p>输出:<br></p><pre class="brush:php;toolbar:false">0</pre><p><strong>4、strnatcasecmp()函数--大小写不敏感</strong></p>
<p>strnatcasecmp() 函数使用一种"自然"算法来比较两个字符串(不区分大小写)。</p>
<p>在自然算法中,数字 2 小于数字 10。在计算机排序中,10 小于 2,这是因为 10 中的第一个数字小于 2。</p>
<p>语法:</p><pre class="brush:php;toolbar:false">strnatcasecmp(string1,string2)</pre><p>返回值:<br></p>
<ul style="list-style-type: disc;">
<li><p>0 - 如果两个字符串相等</p></li>
<li><p></p></li>
<li><p>>0 - 如果 string1 大于 string2</p></li>
</ul>
<p><strong>示例:</strong></p><pre class="brush:php;toolbar:false"><?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?></pre><p>输出:<br></p><pre class="brush:php;toolbar:false">-1
1</pre><p><strong>5、strncmp()函数--大小写敏感</strong></p>
<p>strncmp() 函数比较两个字符串(区分大小写)。</p>
<p>该函数与 strcmp() 函数类似,不同的是,strcmp() 没有 length 参数(不能指定每个字符串用于比较的字符数)。</p><pre class="brush:php;toolbar:false">strncmp(string1,string2,length)</pre><table class="reference notranslate"><tbody>
<tr class="firstRow">
<th width="20%">参数</th>
<th width="80%">描述</th>
</tr>
<tr>
<td><em>string1</em></td>
<td>必需。规定要比较的第一个字符串。</td>
</tr>
<tr>
<td><em>string2</em></td>
<td>必需。规定要比较的第二个字符串。</td>
</tr>
<tr>
<td><em>length</em></td>
<td>必需。规定每个字符串用于比较的字符数。</td>
</tr>
</tbody></table>
<p>返回值和strcmp() 函数一样</p><pre class="brush:php;toolbar:false"><?php
header("Content-type:text/html;charset=utf-8");
$pwd1 = &#39;password&#39;;
$pwd2 = &#39;Password&#39;;
if(strncmp($pwd1, $pwd2,8) != 0){
echo &#39;密码不匹配!&#39;;
} else {
echo &#39;密码匹配!&#39;;
}
?></pre><p><img src="https://img.php.cn/upload/image/423/765/326/166073605488919PHP%EC%97%90%EC%84%9C%20%EB%AC%B8%EC%9E%90%EC%97%B4%EC%9D%84%20%EB%B9%84%EA%B5%90%ED%95%98%EB%8A%94%20%EA%B8%B0%EB%8A%A5%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C?" title="166073605488919PHP에서 문자열을 비교하는 기능은 무엇입니까?" alt="PHP에서 문자열을 비교하는 기능은 무엇입니까?"></p>
<p>推荐学习:《<a href="https://www.php.cn/course/list/29/type/2.html" target="_blank">PHP视频教程</a>》</p>
위 내용은 PHP에서 문자열을 비교하는 기능은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!