有什麼解決方案在PHP中使用與string.localeCompare()
相同的字符串比較函數?字符串比較:在PHP中使用相同的JavaScript localeCompare?
我的目標是製作一個哈希器,它可以應用於PHP和JS中的簡單對象。財產的順序可以根據這個問題來解決: Sorting JavaScript Object by property value
我列出了屬性鍵和值元組,並按鍵排序。 (請注意,這也可以遞歸地工作。)但是我有點害怕字符串表示和區域設置,他們可能會很棘手。如果屬性鍵包含一些奇特的字符,那麼PHP和JS端的排序可能不同,導致不同的哈希值。
在PHP中嘗試以下內容,並在JS中進行類似的比較。
echo strcmp('e', 'é')."\n";
echo strcmp('e', 'ě')."\n";
echo strcmp('é', 'ě')."\n";
echo strcmp('e', 'f')."\n";
echo strcmp('é', 'f')."\n"; // This will differ
echo strcmp('ě', 'f')."\n"; // This will differ
主要問題:如何在PHP和JS中執行相同的字符串比較?
旁邊的問題:PHP和JS中的對象散列的其他想法?
我添加的例子的問題,'strcmp'會失敗在那裏。 –
'strcmp'是一個簡單/簡單的二進制比較函數。 'localCompare'是一個(部分)語言意識的比較。他們是不同的。 – Kissaki