標題說什麼。具體來說,如果我有如何比較2個字符串字符串
$array1['name'] = 'zoo';
$array2['name'] = 'fox';
我如何能夠確定按字母順序$array2
的名字應該來上述$array1
的?
標題說什麼。具體來說,如果我有如何比較2個字符串字符串
$array1['name'] = 'zoo';
$array2['name'] = 'fox';
我如何能夠確定按字母順序$array2
的名字應該來上述$array1
的?
使用strcmp
。如果strcmp的第一個參數按字典順序小於第二個,那麼返回的值將是負數。如果兩者相等,則它將返回0.如果第一個字典大於第二個,那麼將返回一個正數。
nb。您可能想要使用strcasecmp (string1,string2)
,它忽略大小寫...
編輯從不同陣列的只是實現價值,能array_merge第一,但不能肯定這就是你想要
您可以strcmp
兩個字符串比較什麼:
返回< 0,如果str1小於str2; > 0如果str1大於str2,如果它們相等則爲0。
我經常使用natsort
(Natural Sort),因爲我通常只是想保留數組以備後用。
例子:
natsort($unsorted_array);
var_dump($usorted_array); // will now be sorted.
我有點晚了(當時我又是不是一個程序員,但在2009年:-)沒有人提到這一點,但你可以簡單地使用您所使用的運營商數量也是如此。
< > <= >= == !=
多
例如:
'a' > 'b'
回報false
'a' < 'b'
回報true
男人,這絕對是這個線程的最佳答案,它沒有一個單獨的upvote!如果你只需要比較兩個字符串來簡單地找到按字母順序排列的字符串,那絕對是更輕,最聰明的解決方案。然而,它很愚蠢,幾乎很痛。 – 2017-08-30 00:42:46
@MarcosBuarque:我很感激。我只有8年,我的回答太晚了:-) – JMRC 2017-09-05 17:11:23
您可能會發現['S($數組1 [ '名'] ) - >的compareTo($數組2 [ '名稱'])'](https://github.com/deli ght-im/PHP-Str/blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php#L495)或['s($ array1 ['name']) - > compareToIgnoreCase($ array2 ['name'])'](https: //github.com/delight-im/PHP-Str/blob/8fd0c608d5496d43adaa899642c1cce047e076dc/src/Str.php#L514)很有幫助,在[這個獨立的庫](https://github.com/delight-im/PHP -Str)。 – caw 2016-07-27 00:39:48