> 백엔드 개발 > PHP 튜토리얼 > php array key 的储存规则

php array key 的储存规则

WBOY
풀어 주다: 2016-06-13 11:36:46
원래의
824명이 탐색했습니다.

php array key 的存储规则

刚刚写程序遇到php数组取值的问题,发现字符串和数字取出来的是一样的。


key 可以是 integer 或者stringvalue 可以是任意类型。

此外 key 会有如下的强制转换:

  • 包含有合法整型值的字符串会被转换为整型。例如键名 "8" 实际会被储存为8。但是 "08" 则不会强制转换,因为其不是一个合法的十进制数值。
  • 浮点数也会被转换为整型,意味着其小数部分会被舍去。例如键名 8.7 实际会被储存为8
  • 布尔值也会被转换成整型。即键名 true 实际会被储存为 1 而键名 false 会被储存为 0
  • Null 会被转换为空字符串,即键名null 实际会被储存为 ""
  • 数组和对象不能被用为键名。坚持这么做会导致警告:Illegal offset type

如果在数组定义中多个单元都使用了同一个键名,则只使用了最后一个,之前的都被覆盖了。 取得时候用整数或者对于的字符串效果是一样的。

<span style="color:#000000"><span style="color:#0000BB">$array </span><span style="color:#007700">= array(<br>    </span><span style="color:#0000BB">1    </span><span style="color:#007700">=> </span><span style="color:#DD0000">"a"</span><span style="color:#007700">,<br>    </span><span style="color:#DD0000">"1"  </span><span style="color:#007700">=> </span><span style="color:#DD0000">"b"</span><span style="color:#007700">,<br>    </span><span style="color:#0000BB">1.5  </span><span style="color:#007700">=> </span><span style="color:#DD0000">"c"</span><span style="color:#007700">,<br>    </span><span style="color:#0000BB">true </span><span style="color:#007700">=> </span><span style="color:#DD0000">"d"</span><span style="color:#007700">,<br>);</span></span>

<span style="color:#000000"><span style="color:#0000BB">$array</span></span>[1]和<span style="color:#000000"><span style="color:#0000BB">$array</span></span>["1"],<span style="color:#000000"><span style="color:#0000BB">$array</span></span>[true]返回的都是d,因为d覆盖了前面的值,而且key1,"1",true,在解释器看来都是1,所以是一样的。


관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿