Dec 10

记录PHP的一个trick 不指定

felix021 @ 2009-12-10 10:23 [IT » 程序设计] 评论(1) , 引用(0) , 阅读(5508) | Via 本站原创 | |
在int32(64位机器则为int64)的范围内的证书作为数组索引来存储数据的话,
在php中,会自动将这种可以转换成int的字符串转换成int作为索引使用。

以下面这一段脚本的输出来说明这个问题:

<?php
$arr = array(
        123 => 'a',
        '123' => 'b',
        0123 => 'c',
        '0123' => 'd',
        );
var_dump($arr);
?>
输出:
array(3) {
  [123]=>
  string(1) "b" //第一个123的a消失了,却出来了一个b,说明"123"在索引中被当作int处理了,并覆盖了之前123索引对应的值
  [83]=>  //0123是八进制的83
  string(1) "c"
  ["0123"]=> //字符串
  string(1) "d"
}




欢迎扫码关注:




转载请注明出自 ,如是转载文则注明原出处,谢谢:)
RSS订阅地址: https://www.felix021.com/blog/feed.php
boluor
2009-12-10 13:53
之前学的时候,这个印象比较深:"123abc" + "1def45" 结果是124.
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   *非必须
网址   电邮   [注册]