【发布时间】:2015-11-23 00:40:05
【问题描述】:
有没有办法让 PHP 中的字符串比较函数与 JavaScript 的 string.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 中对象散列的其他想法?
【问题讨论】:
标签: javascript php string-comparison