php sort 不同类型导致的问题
生活随笔
收集整理的這篇文章主要介紹了
php sort 不同类型导致的问题
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天和客戶端進(jìn)行api簽名校驗(yàn),打算按照參數(shù)的ascii進(jìn)行升序列排序然后進(jìn)行sha1處理,但是使用sort方法進(jìn)行排序的時(shí)候,卻發(fā)現(xiàn)一個(gè)神奇的問題
php > $a = ['ZfQW5yH1IkBmn13smeEnWQ==',0,'502857731']; php > sort($a,0); php > var_dump($a); array(3) {[0]=>string(24) "ZfQW5yH1IkBmn13smeEnWQ=="[1]=>int(0)[2]=>string(9) "502857731" } // 我們這里將數(shù)組值的順序調(diào)整下 php > $a = ['ZfQW5yH1IkBmn13smeEnWQ==','502857731',0]; php > sort($a,0); php > var_dump($a); array(3) {[0]=>int(0)[1]=>string(9) "502857731"[2]=>string(24) "ZfQW5yH1IkBmn13smeEnWQ==" }問題出現(xiàn)了,兩次排序竟然順序是不一樣的!
從stackoverflow上找到了答案
【Numeric sort an array with mixed types values】
重點(diǎn)就是:
Be careful when sorting arrays with mixed types values because sort() can produce unpredictable results.
總結(jié)
以上是生活随笔為你收集整理的php sort 不同类型导致的问题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: sql like 多条件
- 下一篇: UVA 11995 I Can Gues