请问高手php中的数组如何以"2"这个符串来做key啊,手册中说"2"会自动被转化为整型的2,那是不是php中的关联数组无法以"2"这个字符做为key啊?如果想做一个字符串的字典,是不是没办法将"2"这个字符串编进去呢?

解决方案 »

  1.   

    可以自己写一个数组类class myArray
    {
        $indexArr = array(); // 数字索引数组
         $stringArr = array(); // 字符串索引数组    //相差操作   public function push( $key, $value)
    {
        判断key 的类型决定存到哪个数组里
    }public function get( $key, $value )
    {
        判断key类型决定从哪个数组里取
    }
    }
      

  2.   

    经过测试,没发现有这个问题:
    $arr=array('1'=>'sss1','2'=>'sss2','3'=>'sss3');var_dump($arr);echo $arr['2'];
    输出结果:
    array
      1 => string 'sss1' (length=4)
      2 => string 'sss2' (length=4)
      3 => string 'sss3' (length=4)sss2
      

  3.   


    $test=array("2"=>'test');
    echo $test["2"];
    echo $test[2];
    print_r($test);不过输出的结果还是这样啊:testtestArray
    (
        [2] => test
    )
     还是不能啊
      

  4.   

    如果数组中有"2"和2都作为key的话会讲另个覆盖掉,已最后一个2或"2"出现的为准