PHP的array就是一个有序的map。map是一个key和value关联的类型。
php的数组的key 可以是string类型也可以是integer类型。如果key为一个float类型,会自动的转化为integer类型。
如果没有为一个value指定一个key,integer类型的索引的最大值已经给出的话,新key就是这个最大值加1.如果这个新key已经被赋值,那么这个value将会被覆盖掉。
1
<?
php
2 $arr = array ( ' a ' , ' b ' , 5 => ' c ' , ' d ' , ' e ' , 6 => ' g ' );
3 echo ' <pre> ' ;
4 print_r ( $arr );
5 echo ' </pre> ' ;
2 $arr = array ( ' a ' , ' b ' , 5 => ' c ' , ' d ' , ' e ' , 6 => ' g ' );
3 echo ' <pre> ' ;
4 print_r ( $arr );
5 echo ' </pre> ' ;
上面代码的结果是
Array
(
[ 0 ] => a
[ 1 ] => b
[ 5 ] => c
[ 6 ] => g
[ 7 ] => e)
[ 0 ] => a
[ 1 ] => b
[ 5 ] => c
[ 6 ] => g
[ 7 ] => e)
这个样子。只所以没有value “d” 是因为 他被后面的6=>‘g’这个给覆盖掉了