细微区别   执行的时候   $array[0] 少调用一次 C的strtol函数(其实是:__strtol_internal函数)

解决方案 »

  1.   

    没区别吗? 加上单引号代表是string 並非int$array = array("1" => "bar1", "0" => "bar2")$array[0] -> bar1
    $array['0'] -> bar2
      

  2.   

    只要是数字,就没有数值类型和字符类型的区别
    var_dump(3.2 == '3.2'); //true如果换成1 2  3 之类的呢??
      

  3.   


    同意楼上的看法
    中括号中的是键值可以是整型和字符串类型 ' ' 表示是字符串的类型,若果不加则认为是整型0
    PHP数组中如果索引字符串可以被转换成数字也会被转换成数字索引    多了步转换过程
      

  4.   

    试着敲了下,结果输出的都是bar2,所以还是楼上的观点“PHP数组中如果索引字符串可以被转换成数字也会被转换成数字索引    多了步转换过程 ”
      

  5.   

    數字沒區別。但
    $array[a]  合 $array['a'] 有區別,前者會影響效率。
      

  6.   


    如果换成1 2  3 之类的呢??那个返回True,是因为自动转换数据类型来比较了,如果你换成用===来对比,返回的就是false了。php是弱类型的语言,在运算的时候会自动转换为合适的数据类型。
    刚才做了下测试,得出了这样的结论:
    带引号的整数字符串会自动转换成数字,做为整数索引,非整数数字则不会转换,仍旧按字符串索引来对待。
    不带引号的数字,非整数的会取整后做为整数索引另外,未变定义为常量的字符串做为索引,不带引号的话,虽然能得到正确的结果,但是会有警告错误。