php数组里的数字型key

看看这段php代码:

    $arr1=array();
 
    $arr1["8700"]="apple";
    $arr1["5300"]="banana";
 
    $arr2=array();

    var_dump($arr1);
    var_dump(array_merge($arr1,$arr2));

结果是:
array(2) {
  [8700]=>
  string(5) "apple"
  [5300]=>
  string(6) "banana"
}
array(2) {
  [0]=>
  string(5) "apple"
  [1]=>
  string(6) "banana"
}

        可见,“8700”和“5300”都被php的数组当成了数字,于是在数组合并的时候对这一“编号”进行了调整。我试了$arr1[strval("8700")]="apple",没有效果,array就是不把8700当成字符串。最好只好在8700前面加了个空格。
        最要命的是array_slice这么简单功能的函数也有这个毛病,擅自调整数组里数字型的key。看来以后要多加小心。

相关文章

分类

留言:

关于文章

This page contains a single entry by DongHao published on 06 12, 2008 5:12 PM.

不要轻易查询awk中的关联数组 was the previous entry in this blog.

消失的图腾 is the next entry in this blog.

Find recent content on the main index or look in the 存档 to find all content.