本站资源收集于互联网,不提供软件存储服务,每天免费更新优质的软件以及学习资源!

PHP中文数组排序结果为何在不同IDE中差异巨大?

网络教程 app 1℃

PHP中文数组排序结果为何在不同IDE中差异巨大

php中文数组排序中的差异

对于中文数组的排序,在不同的ide环境中可能产生不同的结果。原因是ide的默认字符编码设置不同。

示例代码:

$array = array( ‘香蕉’, ‘苹果’, ‘橘子’, ‘西瓜’);foreach ($array as $value) { $value = mb_convert_encoding($value, ‘gb18030’);}asort($array);

phpstorm中的结果:

iso-8859-1array ( [1] => 苹果 [3] => 西瓜 [0] => 香蕉 [2] => 橘子 )

zend studio中的结果:

iso-8859-1array ( [2] => 橘子 [1] => 苹果 [3] => 西瓜 [0] => 香蕉 )

差异的原因在于$array中元素的utf-8编码和iso-8859-1编码之间的区别。在zend studio中,默认使用iso-8859-1编码,因此元素排序基于此编码。而在phpstorm中,默认使用utf-8编码,因此元素排序基于utf-8编码。

为了确保在不同ide环境中获得一致的排序结果,可以在代码中显式指定字符编码,使用以下函数:

mb_convert_encoding( $str, $encoding1,$encoding2 )

以上就是PHP中文数组排序结果为何在不同IDE中差异巨大?的详细内容,更多请关注范的资源库其它相关文章!

转载请注明:范的资源库 » PHP中文数组排序结果为何在不同IDE中差异巨大?

喜欢 (0)