有什么解决方案在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