我需要动态编写一个包含以下键的数组:
1.1.2
2.1.3
2.1.13
编写完成后,我需要按键排序数据,但得到的结果与需要的结果不同:
$Vals=array("1.1.2"=>"First","2.1.3"=>"Second","2.1.13"=>"Third");
ksort($Vals);
foreach($Vals as $x=>$x_value)
{
echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
我明白了:
Key = 1.1.2,Value = First
键= 2.1.13,值=第三
键= 2.1.3,值=秒
而不是
Key = 1.1.2,Value = First
键= 2.1.3,值=第二
键= 2.1.13,值=第三
答案 0 :(得分:6)
您正在进行简单的词典编纂比较,但您尝试比较的是版本号标识符,它们有自己的逻辑。 PHP具有比较此类标准化版本号字符串的功能:version_compare
。
uksort($Vals, 'version_compare');