PHP数组的插入顺序
这个问题,纠结了我2个小时,一直的找bug。
-
其实就是以为php数组如果是整形键值的话,会自动的按数值的从大到小排序,其实呢,人家php才不管它的key是什么,它都一视同仁,不管是数值还是字符串都是按照插入顺序的。
-
是的,其实php的数组更像是map,但是它又维持着插入顺序,好吧,主要是自己想当然的,记在这里。
罪魁祸首就是它:
private function _fillEmptyPaytype($paytypes){
foreach($this->PAY_TYPES as $pk=>$pv){
if(!isset($paytypes[$pk])){
$paytypes[$pk] = '0.00';
}
}
ksort($paytypes);
return $paytypes;
}
如上,加上ksort就可以了。