[请益] array_search 是完全相同吗?

楼主: powyo (光子郎)   2017-08-21 17:11:01
我AB阵列内有这些值
0000000000E01
0000000000E02
0000000000E03
.
.
.
0000000000E50
用array_search找她的key值 比对出来都只会跑1耶
也就是说 比对出来都是 111111111111111
正常来说应该是 1 2 3 4 5 6 7...50才对
阵列内其他的数值都没问题 就这组不对..
是array_search有长度限制 还是这值本身有BUG?
作者: tkdmaf (皮皮快跑)   2017-08-21 17:23:00
16进制要用0x0000000000E01吧!不然会被当成E(10的次方数)那你前面全部是0,不管你是10的多少次方都是0
作者: GALINE (天真可爱CQD)   2017-08-21 17:28:00
踩到PHP的自动转型地雷,范例:https://goo.gl/GmYZWX把 array_search 的第三个参数设为 true 看看这个是被被转型成数字,只有前面一堆0被当数字解读=> 0
楼主: powyo (光子郎)   2017-08-21 17:31:00
感谢!! 板上果然神人多..没错就是这样 谢谢
作者: GALINE (天真可爱CQD)   2017-08-21 17:32:00
更正,tkdmaf 的说法才是对的...XD 不过结果一样
作者: tkdmaf (皮皮快跑)   2017-08-21 17:35:00
自动转型真的是一个……ooxx……有方便,也有不便
作者: newversion (海纳百川)   2017-08-21 18:21:00
var_dump ( 0000000000E01 == 0000000000E02 ) truevar_dump("0000000000E01" == "0000000000E02")也一样
作者: newton2009 (好瘦唷QQ)   2017-08-27 13:07:00
请用 === 全等 做这种判断

Links booklink

Contact Us: admin [ a t ] ucptt.com