首頁  >  文章  >  後端開發  >  php使用"自然"演算法來比較兩個字串(不區分大小寫)的函數strnatcasecmp()

php使用"自然"演算法來比較兩個字串(不區分大小寫)的函數strnatcasecmp()

黄舟
黄舟原創
2017-11-04 11:09:292295瀏覽

實例

使用"自然"演算法來比較兩個字串(不區分大小寫):

<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>

定義和用法

# strnatcasecmp() 函數使用一種"自然"演算法來比較兩個字串(不區分大小寫)。

在自然演算法中,數字 2 小於數字 10。在電腦排序中,10 小於 2,這是因為 10 中的第一個數字小於 2。

註解:strnatcasecmp() 是不區分大小寫的。

語法

strnatcasecmp(string1,string2)
參數 #描述
string1 必需。規定要比較的第一個字串。
string2 必要。規定要比較的第二個字串。

技術細節

# 傳回值: #此函數傳回:
  • #0 - 如果兩個字串相等

  • 2aea9190d05ec21efec5464d34af7d330 - 如果string1大於string2

PHP 版本: 4+
##更多重實例

實例1

自然演算法(

strnatcmp)和常規電腦字串排序演算法(strcmp)的不同:

<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "Standard string comparison"."<br>";
usort($arr1,"strcmp");

print_r($arr1);
echo "<br>";

echo "Natural order string comparison"."<br>";
usort($arr2,"strnatcmp");

print_r($arr2);
?>

自然排序strnatcmp():該函數同strcmp函數用法基本一致,但是比較的原則有所有不同.該函數並不是按照字典順序排列的,而是按照"自然排序"比較字符串.所謂自然排序就是按照人們的習慣來進行排序,例如strcmp函數來進行排序,"4"會大於"14",而在現實中,數字"14"在大於"4",因此strnatcmp函數是按照後者來進行比較的.

以上是php使用"自然"演算法來比較兩個字串(不區分大小寫)的函數strnatcasecmp()的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn