[請益] 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