什么顺序
入门。
一般的语言都会提供 array/list,dict/map,set 等数据结构。而 PHP 里只有一个 array 用来应付各种情况,它的 key 既可以是数字也可以是字符串。
放弃?
Pyton 中将一个 dict 打印出来时,是按照 key 排序过的。
>>> a = {}
>>> a[3] = 'three'
>>> a[0] = 'zero'
>>> for key in a: print(a[key])
...
zero
three
PHP 里打印出来的顺序确是反的:
hphpd> $a = array();
$array = array()
hphpd> $a[3] = 'three';
$a[3] = 'three';
hphpd> $a[0] = 'zero';
$a[0] = 'zero';
hphpd> foreach ($a as $val) { print $val."\n"; }
foreach ($a as $val) { print $val."\n"; }
three
zero
进阶!
PHP 的 array 按插入顺序进行迭代。所以必须人工排序
hphpd> ksort($a)
ksort($a)
hphpd> foreach($a as $val) { print $val."\n"; }
foreach($a as $val) { print $val."\n"; }
zero
three