首頁  >  文章  >  後端開發  >  php一招搞定「自然」演算法比較字串的異同(區分大小寫)

php一招搞定「自然」演算法比較字串的異同(區分大小寫)

醉折花枝作酒筹
醉折花枝作酒筹原創
2021-08-05 15:31:382244瀏覽

上一篇文章中我們了解了使用「自然」演算法知道字串異同的方法,有需要的請看《php如何使用「自然」演算法知道字串的異同」。這次我們向大家介紹使用「自然」演算法知道字串異同的另一種方法,有需要的可以參考參考。

在上一篇文章中,我們介紹了一種不區分大小寫的「自然」演算法。但是,小夥伴們,你們有疑慮嗎?就是在用的時候要是需要保證字串的字母大小寫也是一樣的時候,該怎麼去寫?今天小編就來跟大家說一個區分大小寫的「自然」演算法是如何比較字串的。

讓我們來看一個小栗子。

<?php
echo strnatcmp("2Hello WORLD!","10Hello WORLD!");
echo "<br>";
echo strnatcmp("2hello world!","2aello world!");
echo "<br>";
echo strnatcmp("2hello world!","9hello WORLD!");
echo "<br>";
echo strnatcmp("2hello world!","2HELLO WORLD!");
echo "<br>";
echo strnatcmp("2hello world!","2hello world!");
?>

結果為

php一招搞定「自然」演算法比較字串的異同(區分大小寫)

我們看一下這個結果,這個函數的結果還是使用“0”,“ -1”,“1”來表示兩個函數比較的結果。我們看這個例子

當我們除了前面數字其他都一模一樣的時候,我們發現數字是-1,也就說第一個字串小於第二個字串;當我們數字一樣,但是後面字母有所變化的時候,是1,也就說第一個字串大於第二個字串;而當數字一樣,字母一樣,大小寫不一樣的時候,發現為1;只有當數字,字母,而字母的大小寫完全一樣的時候,才是0,也就是兩個字串相等。

那我們來看看這個函數吧。

strnatcmp() 函數使用一種"自然"演算法來比較兩個字串(區分大小寫)。在自然演算法中,數字 2 小於數字 10。在電腦排序中,10 小於 2,這是因為 10 中的第一個數字小於 2。

這個函數的語法是

strnatcmp(要比较的第一个字符串,要比较的第二个字符串)

這些與我們上一篇文章介紹的函數一樣,但是我們還是要來看這個函數的回傳值。

此函數傳回:

  • 0 - 如果兩個字串相等

  • >0 - 如果string1 大於string2

就說到這裡了,有其他想知道的,可以點選這個喔。 → →php影片教學

#

以上是php一招搞定「自然」演算法比較字串的異同(區分大小寫)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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