當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


PHP string strcmp()用法及代碼示例


字符串比較是編程和開發中最常見的任務之一。 strcmp() 是 PHP 中的字符串比較函數。它是 PHP 的 內置 函數,區分大小寫,即區分大小寫。它用於比較兩個字符串。此函數比較兩個字符串並判斷一個字符串是否大於、小於或等於另一個字符串。 strcmp() 函數是二進製安全的字符串比較。

注意:strcmp() 函數區分大小寫以及二進製安全字符串比較。

用法:

strcoll($str1, $str2);

參數

strcmp() 函數接受兩個字符串參數,必須傳入函數體。這兩個參數都必須傳入 strcmp() function()。下麵給出了以下參數的描述。

  1. $str1- 它是用於比較的 strcmp() 函數的第一個參數。
  2. $str2- 它是用於比較的 strcmp() 函數的第二個參數。

strcmp() 的值返回

此函數根據比較隨機返回整數值。

返回 0- 如果兩個字符串相等,則返回 0,即 $str1 = $str2

返回 < 0- 如果 string1 小於 string2,則返回負值,即 $str1 < $str2

返回 >0- 如果 string1 大於 string 2,則返回正值,即 $str1 > $str2

注意:它計算字符串的 ASCII 值,然後比較兩個字符串以檢查它們是否相等、大於或小於彼此。

strcoll() 和 strcmp() 函數的區別

strcoll() 和 strcmp() 都是 PHP 的字符串比較函數,但兩者略有不同。

Strcoll() 取字節並使用 locale 轉換它們,然後比較結果,而 strcmp() 取字符串的字節一個一個,然後無論字節是什麽都比較它們。

例子1

<?php
	$str1 = "hello php";
	$str2 = "hello php";
	echo strcoll($str1, $str2). " because both strings are equal. ";
	echo " </br>";
	echo strcoll("Hello world", "Hello"). " because the first string is greater than the second string.";
?>

輸出:

0 because both strings are equal. 
6 because the first string is greater than the second string.

備注:第二個字符串比較返回值 6,因為第一個字符串比第二個字符串大 6 個字符,包括空格。

例子2

<?php
	echo strcoll("Hello world", "hello"). " because the first string is less than the second string.";
	echo "</br>";	
	echo strcoll("hello", "Hello"). " because the first string is greater than the second string.";
?>

輸出:

-1 because the first string is less than the second string.
1 because the first string is greater than the second string.

例子3

<?php
	echo strcmp("Hello ", "HELLO").  " because the first string is greater than the  second string.";
	echo "</br>";	
	echo strcmp("Hello world", "Hello world Hello"). " because the first string is less than the second string.";
?>

輸出:

1 because the first string is greater than the second string.
-6  because the first string is less than the second string.

備注:第二個字符串比較返回 -6,因為第一個字符串比第二個字符串小 6 個字符,包括空格。

字符串 1 字符串2 輸出 解釋
Hello Hello 0 兩個字符串相同且相等。
Hello hello -1 String1 < String2 因為 H 的 ASCII 值是 72,而 h 是 104,所以 H < h。它以不同的方式對待小寫字母和大寫字母。
hello Hello 1 String1 > String2 因為 H 的 ASCII 值是 72,而 h 是 104,所以 H < h。
你好 PHP Hello 4 String1 > String2 因為 String1 比 String2 大 6 個字符,包括空格。
hello 你好 PHP 1 String1 > String2 因為 H 的 ASCII 值是 72,而 h 是 104,所以 H < h。
Hello 你好 PHP -4 String1 < String2 因為 String1 比 String2 小 4 個字符,包括空格。






相關用法


注:本文由純淨天空篩選整理自 PHP string strcmp() Function。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。